如果 object 键是 PascalCase,则 ember 中嵌套 objects 的属性不会触发
Properties on nested objects in ember doesn't fire if the object key was in PascalCase
这是一个为什么会发生的问题
如标题所示,如果我有一个 PascalCase object 键,当模型属性更改时,它的自定义属性将不会触发
这是一个例子
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>
Fiddle: http://jsbin.com/lukahogeye/2/edit?html,js,output
知道为什么吗?
我在 ember github 的问题列表中发布了这个问题。这是一个可能在未来修复的错误
这是一个为什么会发生的问题
如标题所示,如果我有一个 PascalCase object 键,当模型属性更改时,它的自定义属性将不会触发
这是一个例子
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>
Fiddle: http://jsbin.com/lukahogeye/2/edit?html,js,output
知道为什么吗?
我在 ember github 的问题列表中发布了这个问题。这是一个可能在未来修复的错误