Ember guide on binding data attributes表示「如果您使用數據綁定與布爾值,它將添加或刪除指定的屬性。」我試圖使用此功能在<option>
上動態設置selected
屬性。我發現我可以動態設置disabled
屬性,但selected
屬性總是被忽略,不管布爾值是true還是false。如何動態設置'<option>`標籤上的`selected`屬性?
鑑於這種車把模板:
<option disabled={{false}} selected={{false}}>One</option>
<option disabled={{true}} selected={{true}}>Two</option>
我得到以下HTML:
<option>One</option>
<option disabled>Two</option>
爲什麼不selected={{true}}
產生渲染輸出selected
屬性?
爲了給出更多的上下文,我正在關注How to do a select in Ember 2.0上的這篇文章。使用該文章中描述的方法,當選擇onchange
事件觸發時,我可以成功更新控制器中的數據,但DOM不會更新以反映更改。
我已經放在一起this ember-twiddle,其中包括兩個select
元素。一個使用select={{bool}}
,這不符合我的要求。另一個使用長手{{#if bool}}...{{else}}...{{/if}}
,它確實有效,但看起來很糟糕。
'selected'是一個屬性,不是屬性值 – Sonny
是否硬編碼「{{true}}」和「{{false}}」的問題?你的例子有點做作。您可以硬編碼「selected」屬性的存在或不存在,而不是硬編碼「{{true}}」和「{{false}}」。 –
@ChrisPeters我承認使用'{{true}}'和'{{false}}'看起來很有意思,但我想保持簡單。如果'{{}}引用了返回「true」或「false」的計算屬性,結果將是相同的。 – nelstrom