我是Angular 1的初学者,我明白$ scope是vew和modal之间的粘合剂。
有谁能告诉我这三种定义控制器的方法之间的区别。
1)
(function(angular) {
'use strict';
var myApp = angular.module('myApp', []);
myApp.controller('namesCtrl', ['$scope', function($scope) {
$scope.customSpice = 'wasabi';
}]);
})(window.angular);
是否使用带有值的传递数组[' $ scope',function]。单靠功能是不够的?
2)
angular.module('myApp', []).controller('namesCtrl', function($scope) {
});
3)
(function(angular) {
'use strict';
angular.module('invoice1', [])
.controller('namesCtrl', function namesCtrl() {
this.customSpice = 'wasabi';
});
})(window.angular);
我们如何在第3个示例中将数据绑定到$ scope我在https://docs.angularjs.org/guide/concepts找到了这个示例。
答案 0 :(得分:2)
案例3:
受控用作"控制器为"句法。这是与DOM绑定的最新实践。这里$ scope变量用于HTML中的当前控制器的上下文中。
但是要在闭包或其他函数中使用它,您需要复制对此上下文的引用
例如:var cs = this;
案例1和案例2基本相同,只是在案例1中将$ scope作为依赖项传递。
在此处阅读更多内容,了解每个Angular: Should I use this or $scope
的好处答案 1 :(得分:1)
['$scope', function($scope){}]
被称为Inline Array Annotation
。
角度地图$scope
(缩小后称a
)与'$scope'
。当您计划minify
代码时很有用。Implicit Annotation
。请注意minification
。controllerAs
。当您使用controllerAs
语法时,例如"myCtrl as ct"
有角度$scope.ct = this
。在这里,您还使用$scope
作为视图和模态之间的粘合剂。