2015-02-09 57 views
0

與$ scope獨立於每個控制器的方式相同。是否存在爲每個控制器創建獨立模塊的方法?如何在angularjs中爲每個控制器注入一個獨特模塊

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

我不知道如何在每個控制器中注入一個獨立的實例,但是您可以使用函數定義您的服務來創建實例並從每個控制器調用該函數。

angular.module('mymodule', []).service('mymodule', function() { 
    return { 
    createMyService: function(){ 
     return { 
     hello: 'hello world' 
     }; 
    } 
    }; 
}); 
0

爲什麼要使用帶有DI的單個模塊?這有點棘手,但我認爲這是可能的,使用assetBuilder並注入結果...

相關問題