html - 如何在 {{input}} 帮助器中分配值而不是创建绑定?
问题描述
在我的输入助手中,
{{input type="text" value=model.name enter=(action (action
'sampleFunction' model))}}
当我更改表单中的值时,我想将值单独发送到操作。但是,model.name 也发生了变化。
我应该怎么做才能只有“价值”改变而模型不改变?
解决方案
答案在某种程度上取决于您的 Ember 版本。如果您是 Ember >= 2.3.1,那么我建议您使用本<input>
机:
<input value={{password}} oninput={{action 'setPassword' value="target.value"}} />
通过一个动作:
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它利用了 glimmer 的<input>
直接使用能力。您将需要使用该库,因为有一个解决方法,一些光标跳跃直到 2.3.1 才解决。
如果你<1.13x,升级?如果您确实是,请回复评论,我会尝试思考一些事情
推荐阅读
- javascript - 用 Svelte 制作的语言切换器不起作用
- c# - Appsetting.json 说没有找到尝试使用 Blazor WebAssembly
- javascript - Vue JS 组件呈现复选框输入并发送回 v-model
- android - 数据绑定在 aar 文件中生成包含的布局作为视图
- python - Django ForeignKey null=True IntegrityError
- scala - 如何询问 Scala 是否存在所有类型参数实例化的证据?
- mongodb - 在 $group 内使用时,使用 $add 的 MongoDB 聚合失败。(错误:$add 只支持数字或日期类型,不支持字符串)
- python-3.x - 如何使用 s3 URL 格式将文件从自定义托管的 Minio s3 存储桶加载到熊猫中?
- c - 如果同一索引中的下一个节点不为 NULL,如何删除单链表链表的第一个节点?
- c++ - 如何在 C++ 中实现复制构造函数