与$ scope独立于每个控制器的方式相同。是否存在为每个控制器创建独立模块的方法?
angular.module('mymodule', []).service('mymodule', function () {});
angular.module('myapp', ['mymodule'])
.controller('myController2', function($scope, mymodule) {
console.log(
$scope.hello, // undefined
mymodule.hello, // "world"
s === $scope, // false
m === mymodule // true
);
})
.controller('myController', function($scope, mymodule) {
s = $scope;
m = mymodule;
$scope.hello = "world";
mymodule.hello = "world";
});
http://jsbin.com/qazeju/2/edit?js,console
我尝试过工厂和供应商。
答案 0 :(得分:0)
我不知道如何为每个控制器注入一个独立的实例,但您可以使用函数定义服务以创建实例并从每个控制器调用该函数。
angular.module('mymodule', []).service('mymodule', function () {
return {
createMyService: function(){
return {
hello: 'hello world'
};
}
};
});
答案 1 :(得分:0)
为什么要在DI中使用单个模块?这有点棘手,但我认为这是可能的,使用assetBuilder并注入结果......