當結合到ngModel,如果你有一個對象:
scope.someObj = {
prop: 10,
prop2: [20, 30],
subObj: {
prop: 40
}
}
,你將其連接到一些輸入字段,像這樣:
<input type="number" ng-model="someObj.prop" />
<input type="number" ng-model="someObj.prop2[0]" />
<input type="number" ng-model="someObj.prop2[1]" />
<input type="number" ng-model="someObj.subObj.prop" />
,把一個事件偵聽器$使他們每個人的扳機,就像這樣:
ngModel.$render = function() {console.log("Hello");};
的$渲染只會消防日第一個輸入是編輯的,但從來沒有其他人在。基本上,$ render不會觸發綁定到比一個層次更深的任何東西的模型。
有沒有辦法迫使它這樣做呢?
這很奇怪。你如何添加'$ render()'方法?我認爲你有一個自定義指令,對吧?你可以提供一個與plunker的實時代碼示例? –
是的,這一切都發生在自定義指令中。這完全是這個討論的一部分:https://github.com/angular-ui/angular-ui/issues/252現在工作在一個plunker上,完成後會更新OP。 – Swader
這就是爲什麼(我不知道爲什麼他們正在執行它的守望函數內部,而不是回調):https://github.com/angular/angular.js/blob/a22596c925a41c6f9b78cb21e18894987bbbc84b/src/ng/directive/input .js文件#L1084 – ProLoser