2014-08-31 62 views
1

我試圖確定是否理解了AngularJS中的一些核心概念。如果我有一個代碼行,上面寫着:在AngularJS中向控制器添加服務

.controller('MyCtrl', function($scope) { 

,我將其更改爲:

.controller('MyCtrl', function($scope, $myService) { 

它是正確的說,「$爲myService注入MyCtrl」。或者說「$ myService作爲MyCtrl的依賴注入」更正確嗎?或者,是否應該完全說一些其他方式?

非常感謝!

回答

0

它是正確的說,你在一個控制器注入的服務爲您將使用該控制器服務的方法,既可以作爲多個控制器之間的數據傳遞或得到它通過服務器。

建議使用這個標誌的

.controller('MyCtrl', ['$scope','$myService',function($scope, $myService) {}]); 

當您壓縮控制器JS那麼它會給這種格式沒有錯誤注入服務。

0

服務是維持多個控制器之間通用狀態的一種方式,所以是的,將服務注入控制器是完全正確的。

Docs

1

無論是罰款。在你的例子中,myService作爲MyCtrl的依賴注入到MyCtrl中。

儘管如此。您不應該在開始時使用美元符號來命名您的服務,因爲這是爲Angular源代碼中的提供商保留的。

相反,這樣做:

.controller('MyCtrl', function($scope, MyService) { 
相關問題