AngularJS和“this”别名

时间:2016-10-30 01:26:25

标签: javascript angularjs

我的任务是更新另一个人的AngularJS(版本1)代码。在Javascript文件中,对于app.directive()部分的控制器函数,我看到一个“this”别名:

   app.directive("myDirective", function() {
    return {
        templateUrl: contextPath + "myPath/myDirective.html",
        controllerAs: 'myDirectiveCtrl',
        controller: function($scope, $element, $http, $rootScope) {
            var ctrl = this;
            ...

我理解“ctrl”是函数在构造函数完成后可靠地引用“this”的一种方式。但是,稍后我会看到这段代码:

this.someFunction = function() {                    
    this.firstProperty = true;
    this.secondProperty = true;
    ...
    ctrl.thirdProperty = [];
    ...

在我的理解中“这个”。代码是错误的,因为函数不能保证“this。”的准确性,所以我很想“修复”代码,以便所有这些属性都使用“ctrl”。

我的推理是对的吗?

谢谢, 杰罗姆。

0 个答案:

没有答案