如何在angularjs中实现基类和派生类概念?

时间:2016-01-11 07:52:00

标签: javascript angularjs angularjs-directive angularjs-controller

在angular js中如何实现基类和派生类的概念?我的要求在基本控制器中我需要创建一些方法和派生控制器我需要覆盖该方法..任何人都可以帮我这个.. 感谢..

1 个答案:

答案 0 :(得分:-1)

1非继承方式:

I think you can achieve this somehow like this:

function ChildController($injector, $scope) {
  $injector.invoke(ParentController, this, {
      $scope: $scope
  });
}

2原型继承

(需要ES5浏览器支持)

angular.inherits = function (ctor, superCtor) {
    ctor.super_ = superCtor;
    ctor.prototype = Object.create(superCtor.prototype, {
        constructor: {
            value: ctor,
            enumerable: false
        }
    });
};

用法:

function ChildController($scope) {
    // Invoke the parent constructor.
   ChildController.super_.apply(this, arguments);
}

angular.inherits(ChildController, ParentController);

此处的代码示例:https://github.com/exratione/angularjs-controller-inheritance

3获取Typescript

所以在这里你可以改变你想附加到$ scope的任何方法。 它不是真正的遗产,但总比没有好。

如果有继承支持,你可以使用打字稿,它会为你做。