我不能为我的生活弄清楚为什么这不起作用。也许这很明显,但我一直都在盯着它看。
我希望{{input}}预先填充了Title的值,标签会被正确填写...
<ul>
{{#each}}
<li>
{{input type="text" value=Title }}
<label>{{Title}}</label>
</li>
{{/each}}
</ul>
这是一个Gist
这是javascript:
window.App = Ember.Application.create({
LOG_TRANSITIONS: true
});
App.ApplicationAdapter = DS.FixtureAdapter.extend();
App.Router.map(function () {
this.resource('Kids', { path: '/' });
});
App.KidsRoute = Ember.Route.extend({
model: function () {
return this.store.find('Kid');
}
});
App.Kid = DS.Model.extend({
Title: DS.attr('string'),
Age: DS.attr('number')
});
App.Kid.FIXTURES = [
{
id: 0,
Age: 5,
Title: "Joe"
},
{
id: 1,
Age: 9,
Title: "Max"
}
];
答案 0 :(得分:1)
{{input}}
似乎有一点错误。问题是所有权是资本化的。我让它在这个bin中工作。 我建议始终用小写字母开始你的属性名称。这是某种约定。大多数情况下,你会遇到与你相反的风格。
这些是我为使其发挥作用而做出的改变:
1 - 为title添加别名,该别名不是大写的:
App.Kid = DS.Model.extend({
Title: DS.attr('string'),
Age: DS.attr('number'),
title : Ember.computed.alias("Title")
});
2 - 将无法使用的版本与帮助者一起使用:
{{input type="text" value=title }}