解析用2個屬性的對象,以2個獨立的模型的方法,我有這樣的代碼棘手在AngularJS
<input ng-model="attribute.name" typeahead="property as property.name for property in MyObject | filter:{ paramName:$viewValue }">
爲MyObject是
{ name : 'A',
desc : 'A description'
}
attribute.name需要保持作爲一個簡單的字符串。但是,通過上面的代碼,attribute.name變成了我不想要的對象。所以我改變了代碼
<input ng-model="attribute.name" typeahead="property.name as property.name for property in MyObject | filter:{ paramName:$viewValue }">
一切都很好,直到我還需要呈現「desc」鍵。它不一定要處於ng模型中,但只要我可以渲染它,那就太好了。我不需要雙向綁定「desc」,因爲我希望數據可以以自由形式進行編輯。
既然我只是返回不是對象的property.name,我該如何訪問「desc」鍵?
您的代碼在編號3(與我最上面的代碼相同)上的問題是,attribute.name模型將填充對象而不是字符串。在瀏覽器頁面上,它將顯示名稱值,但在$ scope.attribute.name中,它是一個包含名稱和desc的對象。那麼爲什麼它只顯示網頁上的名稱?它只顯示名稱值,因爲過濾器。我在我的帖子中解釋了爲什麼它不起作用。 – devwannabe
我很抱歉,也許我的帖子很混亂和不完整。我沒有任何問題顯示建議/打字。我會更新我的帖子。我遇到的問題是,單擊選擇後,我無法將「desc」的值分配給另一個模型。實際上,我正在考慮恢復到舊代碼(最上面的代碼),然後在執行$ htttp.post之前,我將清理數據,以便刪除該對象並僅使用「name」的值。 – devwannabe
我在想,你想要一個解決方案來選擇'name'並在'typeahead'框中顯示'desc' ......我在Plunkr上做了這個。你需要獲得'desc'並在代碼中使用它? –