【问题标题】:After upgrade to Ember v11, {{input}} value binding doesn’t work升级到 Ember v11 后,{{input}} 值绑定不起作用
【发布时间】:2015-06-27 21:13:22
【问题描述】:

我想今天将我的 Ember CLI 版本从 0.1.15 更新到 0.2.3。当然,其中一部分是升级到新的 HTMLBars 渲染引擎。但是现在,我看到一些非常奇怪的行为,因为我的{{input}} 助手在将它们传递给值时不再正确绑定到计算属性。相反,它们被评估为字符串,即使它们不包含引号。例如:

{{input type="text" value=deviceId}}

字面上显示为一个文本框,其值等于字符串 deviceId,而不是实际计算的属性。奇怪的是,当我使用已弃用的 valueBinding 而不是这样的值时:

{{input type="text" valueBinding=deviceId}}

它工作正常,但会引发弃用消息。我找不到其他遇到类似问题的人。有人对可能是什么问题有想法吗?

非常感谢!

【问题讨论】:

  • 如果您创建一个虚拟的 ember-cli 项目,它们仍然无法工作吗?我很好奇助手或附加组件是否正在使用它
  • 只是一个快速提示 - 始终尝试使用 ember-debug.js 版本,这样您就可以更轻松地发现任何弃用。

标签: ember.js ember-cli htmlbars


【解决方案1】:

试试这个:

{{input type="text" value=model.deviceId}}

我最近更新了我的一个项目,并在模型前面加上前缀就可以了。

【讨论】:

    【解决方案2】:

    我知道发生了什么。我使用的是ember-easyForm,它明确地覆盖了input 助手。 EasyForm 尚不支持 Ember 1.11,并且已知会在 {{#form-for}} 之外的应用程序中破坏 {{input}},如 here 所述

    【讨论】:

    • 很难想象一个更好的例子来说明为什么使用你遇到的每个库都是一个坏主意,尤其是当它们似乎没有得到积极支持时,做出糟糕的设计决策,比如覆盖核心Ember 功能,并包含提交消息,例如“Mega hacks 以确保为子视图设置关键字”。
    • @torazaburo 完全同意,但是对于好的 ember 表单库,似乎没有太多选择。你有没有找到任何对你有帮助的东西?
    猜你喜欢
    • 2017-07-23
    • 1970-01-01
    • 2022-01-07
    • 2021-06-17
    • 2015-12-08
    • 2017-07-06
    • 2014-03-12
    • 1970-01-01
    • 2017-06-30
    相关资源
    最近更新 更多