2016-05-16 83 views
0

有這個控制器是body元素的定義:我如何注入依賴到現有的控制器AngularJS

app.controller('bodyController', ['$injection1', '$injection2', 
    function($injection1, $injection2){ 
     // doing stuff here 
}]); 

現在別的地方,我希望能夠注入另一依賴到這個控制器。僞代碼:

app.controller('bodyController').inject(['$injection3', function($injection3){ 
    // doming more stuff here 
}); 

這可能嗎?

回答

3

你可以在控制器&內注入$injector依賴關係,然後在控制器內部,你可以直接詢問其中的依賴關係。

app.controller('bodyController', ['$injection1', '$injection2', '$injector', 
    function($injection1, $injection2, $injector){ 
     var injectorGet = $injector.get; 
     //myService will be singleton instance of myService 
     var myService = injectorGet('myService'); 
     //and injectorGet which you can get other dependency too. 
}]); 
+0

OP說*別的地方*。我認爲這不能回答。因爲在這種情況下,爲什麼不簡單地首先注入'myService'? –

+0

@SaeedNeamati我從問題中瞭解到的是,OP想要添加/訪問第三(其他)依賴項,他想在稍後添加(這是我所設想的),讓我們看看OP想要什麼..他會評論它。糾正我,如果我失去了什麼。雖然感謝您的支持.. :) –

+0

@PankajParkar,我該怎麼做?我的意思是注射服務在別處? –