应用程序/模板/ post.hbs:
<div>
{{input type="text" value=newTitle class="form-control" placeholder="Enter title" autofocus="autofocus"}}
{{input type="text" value=newBody class="form-control" placeholder="Enter text" autofocus="autofocus"}}
<div class="col-xs-10 col-xs-offset-1 col-sm-offset-0 col-sm-4 col-md-3">
<button class="btn btn-primary btn-lg btn-block" {{action 'saveBlogPost'}}>Submit</button>
</div>
</div>
<div>
{{#each post in model}}
<div>
<div>{{post.title}}</div>
<div>{{post.body}}</div>
</div>
{{/each}}
</div>
应用程序/模型/ post.js:
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
body: DS.attr('string')
});
应用程序/路由/ post.js:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
//tried without without .then and without reload: true. no luck.
return this.store.findAll('post', {reload: true}).then( function(result) {
return result;
});
}
});
应用程序/控制器/ post.js:
import Ember from 'ember';
export default Ember.Controller.extend({
newTitle: '',
newBody: '',
actions: {
saveBlogPost() {
const newPost = this.store.createRecord('post', {
title: this.get('newTitle'),
body: this.get('newBody')
});
newPost.save();
}
}
});
在ember检查器中,firebase中有8个post
模型条目。但是,当我转到http://localhost:4200/posts
时,只显示顶部分隔符而不是底部分隔符(使用#each
帮助程序)。我究竟做错了什么?我实际上可以使用顶部分隔符上的文本字段和按钮存储数据。
C:\project-path>ember -v
version: 2.4.2
node: 4.4.0
os: win32 ia32
答案 0 :(得分:2)
如果您使用的是Ember 2.x,那就是{{#each model as |post|}}
。请参阅relevant deprecation。
如果我没记错的话,你应该收到有关该语法的错误。