【问题标题】:Uppercase field is not bound properly in template模板中的大写字段未正确绑定
【发布时间】:2013-08-22 19:08:40
【问题描述】:

这是一个真正的问题,更多地供其他人参考,因为我想我已经了解发生了什么。但是花了一些时间,所以我会在这里记录下来。

在我的一个模型中,我有一个名为 VAT 的字段。我尝试在模板中绑定到该字段:

{{view Ember.TextField valueBinding="VAT" id="VAT-id" placeholder="VAT" required="true"}}

但这不起作用,这有点令人惊讶,并且需要一些时间才能理解。

一些问题:

  • 这是Emberember-data 的限制吗? (我猜是ember-data?)
  • ember 如何翻译大写的字段名?文档中有一节描述了 REST adapter 如何转换带下划线的属性,但没有关于大写字段。
  • 如何使用真实姓名引用该字段? (我想这不可能吧?)

我知道的唯一解决方法是:

App.Adapter.map('App.Company', {
    ...
    vat        : {key: 'VAT'},
});

仍然不允许在模板中使用真实姓名;我仍然必须使用vat(小写)。我想用ember-data来使用原来的大写字段名真的不行吗?

注意

哦,别忘了REST 适配器必须在完全配置后创建,否则配置不可用。这也引起了很多混乱。所以这样做:

App.Adapter = DS.RESTAdapter.extend({ ... });
App.Adapter.configure('plurals', { ... });
App.Adapter.map('App.Company', { ... });
... more adapter configuration

现在你可以这样做:

App.Store = DS.Store.extend({
    revision: 13,
    adapter: App.Adapter.create(),
    ...
});

如果你颠倒顺序,Ember 不会说什么,但配置不会被激活。

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    仍然不允许在模板中使用真实姓名;我仍然必须使用 vat(小写)。估计用ember-data真的不能用原来的大写字段名吧?

    您猜对了,不支持大写键名是设计使然,因此您的解决方法几乎是可行的方法,因为没有简单的方法可以通过其他方式进行配置。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-18
      • 2020-05-20
      相关资源
      最近更新 更多