我有以下服务功能,它将返回我要显示的数据(注意,数据可以随时更改):
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)吗?非常感谢!
答案 0 :(得分:0)
使用它作为第二个例子(最佳实践):
// In my controller:
$scope.service= myService
// In the template
<li ng-repeat="item in service.getData()" ng-controller="myCtrl">
{{item.name}}
</li>