У меня есть следующая сервисная функция, которая будет возвращать данные, которые я хочу отобразить (обратите внимание, что данные могут измениться в любое время):
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
был бы полезен - person Simon Belanger   schedule 03.11.2014