我有以下服务代码
(function () {
'use strict';
angular.module('App')
.factory('apiservice', apiservice);
/* @ngInject */
function apiservice($http) {
var service = {
getData: getGridData,
};
return service;
//code ommitted for clarity
}
})();
当我缩小和捆绑时,依赖关系变得困惑。所以我想将 $scope 更改为 '$scope' 这样缩小器就不会弄乱名称。
我知道有几种方法可以做到这一点。但我可以让它像下面这样工作吗:
(function () {
'use strict';
angular.module('App')
.factory('apiservice', ['http', apiservice]);
function apiservice($http) {
return service;
}
})();
感谢任何帮助。
最佳答案
您有几个选择。第一种是使用扩展语法进行依赖注入(inject)。在这种情况下:
.factory('apiservice', ['$http', apiservice]);
function apiservice($http) {
return service;
}
这也可以写成:
.factory('apiservice', apiservice);
apiservice.$inject = ['$http'];
function apiservice($http) {
return service;
}
<小时/>
或者在缩小之前添加另一个构建步骤,例如 ng-annotate这会将您的语法转换为扩展版本。
这样的工厂
.factory('apiservice', function($http) {
return service;
});
会变成:
.factory('apiservice', ['$http', function($http) {
return service;
});
缩小是安全的。
关于javascript - 在 AngularJs 中通过工厂注入(inject)依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30406217/