說我有一個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