说我有一个crudService.js文件:如何注入模块的2个不同的实例中AngularJs
crudService.module('genericCrudService', ['$http', '$log', 'config', function ($http, $log, config) {
....
return {
setSomeAttribute: function(m) {
// set attribute
}
}
}]);
然后,我有需要不同的配置这个CRUD服务的实例模块:
module.factory('Task', ['genericCrudService','genericCrudService', function (service, actionService) {
...
return {
init: function(p) {
service.setSomeAttribute('a');
actionService.setSomeAttribute('b');
}
}
}]);
但后来我发现当试图使用服务变量时,它的属性被设置为'a'。我究竟做错了什么?
真不明白你正在尝试做的或者正在 – charlietfl
正如其他人所说,这些服务是什么样的期望单身设计,并且通过采用这种模式,它可以在模块中实现强大的通信方法。例如,您可以将服务注入到一个控制器中,订阅事件,存储数据或更改服务和其他控制器上的变量,以便访问该数据或触发事件。在Angular 2中,这是您的组件之间进行通信的手段,因为范围已经消失。我相信无论你需要做什么,仍然可以用单身完成,你只需要重新思考你的方法。 – Zach