html - 如何在 {{input}} 助手内部赋值而不是创建绑定(bind)?

标签 html ember.js ember-data

在我的输入助手中,

{{input type="text" value=model.name  enter=(action (action 
'sampleFunction' model))}}

当我更改表单中的值时,我想将值单独发送到操作。但是,model.name 也在发生变化。

我应该怎么做才能只改变“值(value)”而模型不改变?

最佳答案

答案在某种程度上取决于您的 Ember 版本。如果您是 Ember >= 2.3.1,那么我建议使用 <input>原生:

<input value={{password}} oninput={{action 'setPassword' value="target.value"}} />

通过一个 Action :

actions: {
  setPassword(val){
    if(/* only update on some condition */){
        this.set('password', val);
    }
    this.updatePasswordsMatch2();
  }
}

value是呈现的内容,操作的参数是字段中的任何内容 + 最后键入的字符。

如果您使用的是 Ember 1.13x <=> 2.3.0,请查看 Ember One way controls它利用了微光的使用能力 <input>直接地。您将需要使用该库,因为有一些光标跳转的解决方法,直到 2.3.1 才被解决。

如果您是 <1.13x,升级?如果你真的是,请回复,我会试着想出一些办法

关于html - 如何在 {{input}} 助手内部赋值而不是创建绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53348839/

相关文章:

javascript - 将父网格的嵌套网格中的每一行悬停

javascript - 复选框 JavaScript 不会更改样式表

javascript - 连接到 Promise 的 .then 方法

ember.js - 升级 Ember-cli 插件的正确流程

jquery - Ember 验收测试多个按键事件

ember.js - 一起请求两个模型

html - 使用 CSS 居中 DIV

html - 两个堆叠的 div 和控制高度

javascript - 如何将 XML API 内容正确解析为 EmberJS?

java - 如何在没有 ember-cli 的情况下通过 PHP 或 java 使用 ember js?