所以我試圖綁定一個指令(外部訪問)到ng-repeat內部的模型中。因此,在外部控制器我有一個變量,我想結合在像AngularJS,綁定到ng-repeat中的模型
//in the directive scope
filterArray: '='
指令內,將指令內被綁定到一個模型中的NG-重複像這樣 -
//inside the directive
<li ng-repeat="value in filter.values">
<input type="checkbox" ng-model="filterObject[filter.name][value]" ng-change="filterChange()">{{value}}
</li>
這工作正常,直到我改變指令有一個隔離範圍,現在它說不能設置未定義的屬性。有什麼方法可以按預期工作嗎?這個想法是,當用戶點擊輸入時,變量會生成,所以外部控制器將能夠看到構建的對象。
道歉,如果這有點令人困惑 - 我已經做了一個小提示澄清:https://jsfiddle.net/vt1uasw7/42/。
我希望外部控制器能夠訪問通過綁定模型構建的對象 - 在添加隔離範圍之前,這仍然有效。謝謝!
編輯:也許在這種情況下的訣竅是不使用隔離範圍?這其中有我難住了,我已經試過的範圍每一個屬性組合:(
我在你的小提琴中看到的第一件事情是你的隔離區域有一個'filterArray'屬性,但是你在你的模板中引用了'filterObject'(可能是外部作用域中的項目)。 – Claies
@Claies啊感謝捕捉。即使使用正確的語法它仍然有相同的問題:(。 – ajmajmajma
你確定你只改變了指令的範圍而不改變你的模型嗎?你得到的錯誤是因爲你試圖訪問你的filterObject中的一個鍵/ filterArray不存在。 – Martin