我需要在组件中使用 HTML 输入,并需要绑定(bind)值。输入助手在某些移动设备上使用时会导致各种错误,因此无法使用。
适用于 Ember 1.13 或更高版本的输入。
组件/名称输入.hbs
<input type="text" value={{name}} onChange={{action 'nameDidChange' value='target.value'}}>
component/name-input.js
export default Ember.Component.extend({
name: 'Jim',
actions: {
nameDidChange: function(value) {
this.set('name', value);
}
}
});
如何在 Ember 1.12 中使用 HTML 输入并仍然保持功能?
我尝试了类似的操作,但输入值未传递给组件的操作:
组件/名称输入.hbs
<input type="text" value={{name}} {{action 'nameDidChange' value='target.value' on='change'}}>
component/name-input.js
export default Ember.Component.extend({
name: 'Dwight',
actions: {
nameDidChange: function(value) {
this.set('name', value);
}
}
});
这里有两个 Twiddle,一个在 1.13 中按预期工作,另一个在 1.12 中不起作用。
最佳答案
据我所知,在 Ember 1.13 之前您无法设置操作助手的值(如果我错了,我会很高兴收到通知)。因此,你的 twiddle 不适用于 1.12 版本,我不知道修复它的方法。
我建议的是一种解决方案;我不太喜欢这一点。我将其作为答案发布,因为它可能只是适合您的解决方案。请参阅twiddle我是通过修改你的来创建的。我只是使用 jquery 提取 html 输入的值并将其设置为 name-input
组件的 name2
字段。希望这对你有用。
关于javascript - 在 Ember v1.12 组件中绑定(bind) HTML 输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40902400/