我有以下服務的功能,將返回的數據,這是我想顯示(注意,該數據可以隨時改變):AngularJS:最佳實踐將數據傳遞到模板
myService.getData(); // Returns an array
我有使用服務,因爲我也需要這些數據在其他控制器/服務中。
現在我不確定,最好的實踐是什麼,也將數據顯示在模板中。我所做的,就是:
例1
<li ng-repeat="item in myService.getData()">
{{item.name}}
</li>
它的做工精細,但它是最好的做法?
我也嘗試以下操作:
例2
// In my controller:
$scope.data = myService.getData();
// In the template
<li ng-repeat="item in data" ng-controller="myCtrl">
{{item.name}}
</li>
這不起作用(在頁面上加載的數據是獲得一次到$ scope.data任何更新都將被忽略)。我想我可以使用$ watch(觀看myService.getData())。但是我猜這比較慢。
您認爲如何?我可以在模板中調用服務嗎(如示例1)?
非常感謝!
的'getData'方法的代碼片段將是有益的 – 2014-11-03 15:49:39