javascript - 在 Ember v1.12 组件中绑定(bind) HTML 输入值

标签 javascript ember.js

我需要在组件中使用 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 中不起作用。

Twiddle - 1.13

Twiddle - 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/

相关文章:

javascript - IE 上的 Google 图表 : "Unable to set property ' data' of undefined or null reference"

javascript - 不要让 Bootstrap 面板标题组件换行

javascript - 如何使用 jQuery 异步上传文件?

javascript - EmberJS 模板组件突然不在页面上呈现

javascript - 带有 Ember View 的 typescript

javascript - 是否可以通过 support/index.js 在 Cypress 上仅运行特定测试?

javascript - util.inherits 如何影响原型(prototype)链?

unit-testing - 在 EmberJS 中对组件进行单元测试的正确方法

javascript - Ember.js - 无法对不在 DOM 中的 Metamorph 执行操作

ember.js - 无法使 Bootstrap 在 Ember-cli 中工作