我試圖實現一個雙選擇列表表單組件,只是爲了嘗試角度和嘗試更好地理解它。AngularJS自定義指令孤立示波器模型綁定
此指令的功能是父模型包含可供選擇的項目列表,並且包含選擇項目放置的目標列表(選定)。當選擇一個項目時,它將從可用數組中移除並放入選定數組中。
由於表單可能需要多個這樣的雙重選擇列表組件,我不想依賴硬編碼的屬性名稱,而是允許列表傳入以進行雙向數據綁定。
下面是代碼的JSBin:
我沒有比剛剛嘗試通過在模型屬性名傳遞給數據綁定到列表不見了任何進一步。
在該指令上,定義了以下範圍屬性。 availableItems和selectedItem應該都綁定到父控制器屬性。突出顯示的可用和突出顯示的已選擇用於在點擊按鈕之前存儲用戶選擇。
scope: {
availableItems: '=',
selectedItems: '=',
highlightedAvailable: [],
highlightedSelected: []
},
有人可以告訴我爲什麼控制器屬性永遠不會綁定到指令屬性?
謝謝!
謝謝,我現在看到控制檯將數組記錄出來,只是爲了明白答案,除了我現在明白的突出的XYZ屬性問題之外。綁定問題是連字符的屬性名稱。這是一個對角度系統性的規則嗎?如果我給財產一個較低的駱駝案件名稱,它會尋找連字符較低的駱駝案件呢? – Peter
是的,我無法在第二秒找到它,但是在角色文檔中有一節介紹了這一點。好的,這裏是:https://docs.angularjs.org/guide/directive在他們討論的屬性命名和它們用於名稱轉換的算法頂部附近。 – aet
完美的謝謝你發現,對我而言,我只是想了解幕後發生的事情,而不是僅僅接受它。我將通讀一遍,然後轉到獲取模板內部綁定的工作。謝謝! – Peter