我有一个 div,列出对象 POI = 的属性{"address":"Martinsicuro (TE), Italy", "phone":"+39 333 45657", "website':'http://mysite.it"}
。对象 POI 属于服务。指令的控制器具有getPoi()
从服务获取 POI 并将其返回给指令的功能。
我当前的 HTML 是这样的:
<table ng-controller="Controller as ctrl">
<tr> <!-- address -->
<td>{{ctrl.getPoi().address}}</td>
</tr>
<tr> <!-- phone -->
<td>{{ctrl.getPoi().phone}}</td>
</tr>
<tr> <!-- website -->
<td>
<a ng-href="{{ctrl.getPoi().website}}">
{{ctrl.getPoi().website}}
</a>
</td>
</tr>
</table>
控制器
.controller('Controller', function(CurrentPoiService)
{
this.getPoi = function()
{ return CurrentPoiService.POI; }
}
服务
.service('CurrentPoiService', function()
{
this.POI = {"address":"Martinsicuro (TE), Italy", "phone":"+39 333 45657", "website':'http://mysite.it"}
}
通过这种方式,我添加了 3 个观察者。有没有办法只添加 1 个观察者,因为它是同一个父对象?这是一个JSFiddle 谢谢
[更新 1] 这是使用 @Charlie 提出的解决方案的(仍然不工作的)JSFiddle
[更新 2] 这是工作的JSFiddle