无法理解Angular JS中的控制器功能
Unable to understand the controller functionality in Angular JS
我是Angular JS的新手。我试图通过理解控制器的功能来获得一些深入的知识。
我偶然发现了以下代码片段。
var App = angular.module('clientApp', ['ngResource', 'App.filters']);
App.controller('ClientCtrl', ['$scope',function ($scope) {
}]);
如果我写,会有什么显著的区别
var App = angular.module('clientApp', ['ngResource', 'App.filters']);
App.controller('ClientCtrl', function ($scope) {
});
我的理解:我确实理解方括号中写的内容是对特定模块或控制器的依赖。然而,我不明白写的原因
"['$scope',function($scope)"
而不是
App.controller(controllername,function($scope){
});
如有任何帮助,我们将不胜感激!
它可以缩小AngularJS代码。AngularJS使用参数名称将值注入控制器函数。在JavaScript缩小过程中,这些参数被重命名为较短的字符串。通过告诉使用字符串数组将哪些参数注入函数,AngularJS仍然可以在重命名参数时注入正确的值。
根据John Papa风格指南,它实际上应该是这样写的:
首先,我们创建并命名一个名为"app
"的module
。我们还创建了一个名为"SomeController
"的controller
。
angular
.module('app')
.controller('SomeController', SomeController);
现在我们将所需的依赖项注入控制器
SomeController.$inject = ['dataservice', 'logger'];
现在我们为控制器创建相应的函数。注意到依赖关系是如何包含的吗?
function SomeController(dataservice, logger) {
var vm = this;
vm.avengers = [];
activate();
function activate() {
return getAvengers().then(function() {
logger.info('Activated Avengers View');
});
}
function getAvengers() {
return dataservice.getAvengers()
.then(function(data) {
vm.avengers = data;
return vm.avengers;
});
}
}
相关文章:
- 角度控制器功能赢得'不按指令工作
- 角度控制器功能不;在指令内部调用时,似乎无法始终如一地工作
- 控制器功能在 Angular.js 中不起作用
- 从 AngularJS 中的控制器功能发送数据以供查看
- ng重复调用控制器功能的次数太多
- 无法理解Angular JS中的控制器功能
- 如何使$filter在angularjs中的所有控制器功能中可用
- Ionic Angular/为什么在控制器功能结束之前不调用服务
- 创建通用控制器功能
- $browser.notifyWhenNoOutoutstanding Requests不考虑控制器功能
- 在 ng 单击不部分调用控制器功能时遇到困难
- 角度控制器功能坏了
- AngularJS :如何从控制器功能切换视图
- AngularJS:使用虚拟机从外部调用控制器功能
- 角度控制器功能未运行
- 如何从控制器功能内部获取$scope
- 角度:如何使$scope属性与控制器功能保持同步
- 无法引用控制器功能 ZF2
- AngularJS 控制器功能最佳实践
- 从角度控制器功能访问表单输入