2016-08-27 35 views
0

我已經將服務注入了我的Angular Controller,並且我的View(HTML)直接訪問服務屬性。代碼如下所示:如果角度視圖直接訪問服務,這是一個好習慣嗎?

angular.module('myApp', []); 
angular.module('myApp') 
    .controller('myCtrl', function($myServ) { 
     this.myServ = $myServ; 
    }); 

在我看來:

<div> {{ myCtrl.myServ.someProperty}} </div> 

這是一個不好的做法?如果我將服務屬性傳遞給我的控制器,那麼View會訪問我的控制器屬性,是否更好?

回答

1

通常,HTML應該使用的屬性應該在控制器中定義,而不是服務。

理想情況下,您的服務中定義的任何內容都應該由您的服務方法使用。所以,如果你定義了你的服務中的所有變量來保持你的控制器「瘦」,那麼是的,我認爲它不好。因爲,之後的其他開發人員默認會在控制器內查找視圖變量。

希望它有幫助。

相關問題