我有一个带有文本输入和select
视图绑定到相同值的余烬模板。Ember输入焦点清除模型值
{{input value=myValue}}
{{view "select"
content=myOptions
value=myValue
optionLabelPath="content.name"
optionValuePath="content.id"}}
我提供的模型数据来支持这些选项
window.App = Ember.Application.create();
App.IndexRoute = Ember.Route.extend({
model: function() {
return {
myValue: 2,
myOptions: [
{ name: 'a', id: 1 },
{ name: 'b', id: 2 },
{ name: 'c', id: 3 },
]
}
},
});
我创建了一个捣鼓它here。
该值初始显示正常。但是,如果我关注输入框,然后按下箭头键或通过单击输入框将其取消焦点,则该值将消失(输入框变空白并且选择框不显示所选值)。
这个问题发生在一个更大的项目中,但上面的代码是我将它的精髓提炼成的。似乎删除选择视图使问题消失。我已经搜索,但无法找到任何材料,说明这可能发生的原因。
我的问题是:为什么我看到这种行为,我应该这样做吗?
所以,你说'selectionBinding'比'valueBinding'在这种情况下更好? 'selection'和'selectionBinding'之间有区别吗? – Mike 2014-12-11 09:39:09
一般情况下,如果有可能从任何一方改变事物,请使用xBinding。也就是说,如果视图可能会修改该值并且希望将其反映到模型中,或者某些内容可能会更改该模型,并且您希望在视图中查看它。 – Carl 2014-12-11 13:43:02
是的,在这种情况下,我选择了而不是价值,因为我不认为当前的实现与optionValuePath非常干净地工作。所以在这里我更愿意将视图的选择作为一个整体对象进行绑定,并将自己的价值置于正确的位置。 – Carl 2014-12-11 13:44:49