1
我遇到了Ember.Select問題,其中「值」綁定不保持同步(回到第一個值),當「內容」綁定更改。Ember.Select「值」不保持與綁定同步
這裏是一個JSBin:http://emberjs.jsbin.com/kafod/1
基本上,改變類別改變的可用值的Ember.Select視圖,並且它返回到第一個可用的值。
任何人都可以幫忙嗎?
我遇到了Ember.Select問題,其中「值」綁定不保持同步(回到第一個值),當「內容」綁定更改。Ember.Select「值」不保持與綁定同步
這裏是一個JSBin:http://emberjs.jsbin.com/kafod/1
基本上,改變類別改變的可用值的Ember.Select視圖,並且它返回到第一個可用的值。
任何人都可以幫忙嗎?
那麼Ember.Select
組件需要選擇一個值,因此當您切換出該類別時,sort
字段會被覆蓋。一個簡單的解決方案是有兩個排序字段,sortAccomodations
和sortEvents
以及兩個Ember.Selects
,您根據所選類別切換模板。
查看http://emberjs.jsbin.com/kafod/3/作爲一個工作示例。
{{#if categoryIsAccommodations}}
<br />Sort by {{view Ember.Select content=sortOptions
optionValuePath="content.key"
optionLabelPath="content.text"
value=sortAccomodations}}
{{/if}}
{{#if categoryIsEvents}}
<br />Sort by {{view Ember.Select content=sortOptions
optionValuePath="content.key"
optionLabelPath="content.text"
value=sortEvents}}
{{/if}}
一個解決方案 '排序' 值:
{{view Ember.Select content=sortOptions
optionValuePath="content.key"
optionLabelPath="content.text"
value=sort}}
控制器:
saveSorts: (->
this.set('sortAccommodations', this.get('sort')) if this.get('category') is 'accommodations'
this.set('sortEvents', this.get('sort')) if this.get('category') is 'events'
).observes('sort')
categoryDidChange: (->
this.set('sort', this.get('sortAccommodations')) if this.get('category') is 'accommodations'
this.set('sort', this.get('sortEvents')) if this.get('category') is 'events'
).observes('category')
這不是我能夠用兩個 「排序」 值,因爲它包含在查詢字符串中。你能想到另一種解決方法嗎? – elsurudo
當然,您可以在切換類別時「保存」相應的排序值,並在切回時「重新加載」它們。看到http://emberjs.jsbin.com/kafod/5/ – chopper
這絕對是到達那裏,但仍然有一個我找不到的錯誤。首次加載JSBin時,請執行以下操作:1.按「名稱升序」排序2.將類別更改爲「事件」3.將類別更改回「住宿」。頁面現在處於不一致的狀態,其中Ember.Select的值與「排序」不匹配。嗯 – elsurudo