深表不起作用

时间:2014-05-05 08:21:43

标签: javascript angularjs watch

有插件:http://plnkr.co/edit/hdstMO7BDGGsNRUDJhQS?p=preview

更改'姓名'或'姓氏'时会发生火灾,但在更改'手机'时不会触发。为什么?如何以角度方式观看完整物体或如何做到这一点?

1 个答案:

答案 0 :(得分:1)

问题出在这一行:

<span contenteditable ng-model="phone">{{ phone }}</span>

由于手机是原始值数组,ngRepeat将在ngRepeat创建的范围内创建每部手机的副本。然后您的ngModel被绑定到此副本,因此原始对象不会更改,这就是您的深度表不会触发的原因。

补救措施很简单,将有问题的行更改为

<span contenteditable ng-model="contact.phones[$index]">{{ phone }}</span>

您应该设置:http://plnkr.co/edit/dxKBw3uZqSA4mfCDU2h1?p=preview