angularjs – Angular中用于控制器,服务和其他语言的不同语法
有什么区别
app.controller("MyCtrl",function($scope,$http){ //... }); 和 app.controller("MyCtrl",["$scope","$http",$http){ //... }]); 即使两者都给出相同的结果而且没有错误.事实上,第一个使代码干净,而不是写.在服务,指令中也是如此.有人可以给我一个关于它的小简介. 解决方法
没有功能差异.使用.controller(‘ctrl’,[‘$scope’,函数($scope){…}是为了允许正确读取缩小版本.
关于缩小的注释 – AngularJS
我们可以通过使用依赖项的名称来注释函数来克服这个问题,这些依赖项的名称是字符串,不会被缩小.有两种方法可以提供这些注入注释: >在控制器函数上创建一个$inject属性,该函数包含一个字符串数组.数组中的每个字符串都是要为相应参数注入的服务的名称: function MyCtrl($scope,$http) {...} MyCtrl.$inject = ['$scope','$http']; app.controller('MyCtrl',MyCtrl); >使用内联注释,而不是仅提供函数,而是提供数组.此数组包含服务名称列表,后跟函数本身: function MyCtrl($scope,$http) {...} app.controller('MyCtrl',['$scope','$http',MyCtrl]); 这两种方法都适用于Angular可以注入的任何函数,因此由项目的样式指南决定使用哪一个. 使用第二种方法时,通常在注册控制器时将构造函数内联作为匿名函数提供: app.controller('MyCtrl',$http) {...}]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |