我的任务是更新另一个人的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”。
我的推理是对的吗?
谢谢, 杰罗姆。