如何在angularjs中为每个控制器注入一个独特的模块
How to inject a unique module for each controller in angularjs
与$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,控制台
我试过工厂和供应商。
我不知道如何将一个独立的实例注入每个控制器,但您可以用一个函数来定义您的服务,以创建一个实例并从每个控制器调用该函数。
angular.module('mymodule', []).service('mymodule', function () {
return {
createMyService: function(){
return {
hello: 'hello world'
};
}
};
});
为什么要使用带有DI的单个模块?这有点棘手,但我认为这是可能的,使用assetBuilder并注入结果。。。
相关文章:
- 如何定义一个模块并使用它来分离js文件
- 从一个模块暴露到另一个模块
- Node.js创建一个模块来收集内存(ram)信息
- 如何从另一个模块调用函数
- 无法调用requirejs中的另一个模块
- 打字稿“;导出的外部包打字机不是一个模块”;
- 在另一个模块中重用私有jQuery函数
- 从另一个模块访问作用域的指令
- Babel 怎么知道把一个模块当作一个模块来对待
- 我应该在每个文件中都需要一个模块还是需要它一次并将其作为参数传递
- 这是一个模块化的js设计模式吗?以及如何在此模型中的不同模块中重用值
- nodejs 将值从一个模块传递到另一个模块
- JavaScript 将一个模块“导入”到另一个模块中
- 如何将方法导出到另一个模块
- 在多入口点模块中仅获取一个<模块名称>.nocache.js文件
- 使用 on nodejs 从另一个模块捕获事件
- 来自另一个模块的 Angularjs 路由控制器
- javascript sandbox 一个模块,用于防止引用 Window
- 来自另一个模块的 Angular JS Service DI
- 访问angularjs中另一个模块中定义的工厂