【问题标题】:How can I use OOP classes in angularjs如何在 angularjs 中使用 OOP 类
【发布时间】:2014-11-27 14:52:10
【问题描述】:

我需要知道如何在 angularjs 中使用类。

这样一个简单的类:

function Person(name,age){
    this.name=name;
    this.age=age;
    this.getAge(){
       return age;
    };
    //etcetera
}

我正在学习角度,但我找不到答案。我想创建 Person 实例 并在视图中使用姓名、年龄等。

请提供一个简单的解决方案,因为我来自 C# OOP 背景,不了解 js 框架。但我想使用 MVC 模式。谢谢!

【问题讨论】:

  • 我建议使用 jsFiddle 或 plunker 来发布您所理解的内容以及您尝试过的代码。如果您发布小提琴或 plunker,其他人可以对其发表评论并为您提供帮助。

标签: javascript angularjs oop


【解决方案1】:

AngularJS 是一个通过 JavaScript 编写和使用的框架。尽管 JavaScript 有许多面向对象的特性,但它处理继承的方式却大不相同。在我读到 Douglas Crockford 的优秀作品之前,这曾经也让我感到困惑:JavaScript: The Good Parts。我建议您阅读此书,这是一本非常简短的书,并且以非常简洁明了的方式指出了方法上的差异。

【讨论】:

    【解决方案2】:

    你的语法几乎是正确的,你只需要稍微改变一下函数声明:

    function Person(name, age) {
        this.name = name;
        this.age = age;
    
        this.getAge = function () {
    
            return age;
        };
    }
    

    然后你可以像这样创建一个实例:

    var p = new Person("John", 26);

    然后像这样调用:

    console.log(p.name + ' is ' + p.getAge() + ' years old');

    这里是JS Fiddle

    一般来说,我强烈推荐使用Typescript,它可以很好地补充 angularjs。它使您的项目非常可扩展,并添加了智能感知。可以声明接口、类等。

    【讨论】:

      猜你喜欢
      • 2014-01-01
      • 2011-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多