如果对象键位于PascalCase中,则ember中嵌套对象的属性不会触发

时间:2015-02-10 09:39:58

标签: ember.js

这就是为什么会出现这个问题

就像标题所暗示的那样,如果我有一个PascalCase对象键,当模型属性发生变化时,它上面的自定义属性就不会被触发

这是一个例子

App.CustomModel = Ember.Object.extend({
  workProp: function() {
    return this.get('work.val');
  }.property('work.val'),
  wontWorkProp: function() {
    return this.get('WontWork.val');
  }.property('WontWork.val')
});

App.IndexRoute = Ember.Route.extend({
  model: function() {
    return App.CustomModel.create({
      work: {
        val: 'Bar'
      },
      WontWork: {
        val: 'Bar'
      }
    });
  }
});

和hbs

<h2>This works</h2>
<div>
  {{model.workProp}}
  {{model.work.val}}
  {{input value=model.work.val}}
</div>
<h2>This doesn't</h2>
<div>
  {{model.wontWorkProp}}
  {{model.WontWork.val}}
  {{input value=model.WontWork.val}}
</div>

小提琴:http://jsbin.com/lukahogeye/2/edit?html,js,output

知道为什么吗?

1 个答案:

答案 0 :(得分:0)

我在ember github的问题列表中发布了这个问题。它是一个可能在将来修复的错误

https://github.com/emberjs/ember.js/issues/10414