【问题标题】:Binding readonly value in EmberJS在 EmberJS 中绑定只读值
【发布时间】:2015-09-12 14:29:54
【问题描述】:

我需要将文本区域的只读属性绑定到我的 EmberJS 组件中的一个属性,但只读属性(以及禁用的属性)不取值;他们的存在本身就决定了他们的行为。从这个讨论: GitHub discussion

这似乎是一种回归,根据讨论,在 1.13.3 之前,只读属性是可绑定的。现在,EmberJS 中属性的存在,{{textarea readonly=false}},有或没有值都会产生一个只读文本区域。有没有其他人遇到过这个?有什么解决办法吗?

【问题讨论】:

  • 或者您可以扩展 textarea 并使用自定义属性,该属性将被观察和只读可以通过 jquery 基于自定义属性应用。
  • disabled 应该适合您。只有 readonly 仅通过存在导致只读。
  • 你能提供执行此操作的 jQuery 语法吗?

标签: ember.js data-binding


【解决方案1】:

我在 ember 1.13.9 中没有遇到这个问题。可能是因为我不使用 textare,也可能是因为我对 UI 使用了 ember-cli-materialize。我在创建自己的组件时看到了一种解决方法,它将 textarea 包装在 if 块中。像

//app/templates/components/my-textarea.hbs
{{#if readonly}}
  {{textarea readonly="readonly" value=value}}
{{else}}
  {{textarea value=value}}
{{/if}}

不是理想的解决方案,但应该可以工作

【讨论】:

  • {{textarea disabled=disabled value=value}} 不起作用??
  • @AcidBurn 就个人而言,我对禁用没有任何问题。我刚刚发布了一个如何解决此类问题的示例。我想我应该编辑我的答案并将 disabled 更改为 readonly 以防止混淆。
  • disabled 属性,就像 readonly 属性一样,不需要值来工作。仅它的存在就足以禁用该元素。在 Ember 输入助手中使用时,必须提供一个值,否则会出现构建错误,但该值本身是多余的。
  • 嗯,好的。文档也这么说。但这似乎有些混乱。对我来说disabled=disabled 工作正常。 Ty 获取信息。
  • 是的,disabled=disabled 确实会切换禁用属性。我的立场是正确的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-03
  • 1970-01-01
  • 1970-01-01
  • 2012-07-18
  • 2010-11-28
  • 1970-01-01
  • 2020-04-25
相关资源
最近更新 更多