刚刚开始玩emberjs.dont知道这是一个愚蠢的问题还是好的问题,但是我已经陷入困境几天了,无法弄清楚原因。
在我的router.js
中[1L, 2L, 3L...]
并且在路径文件夹中我将posts.js设置为follow.it具有简单的js varible,用于保存文章的id,title和body。
Router.map(function() {
this.resource('posts', {path: '/'});
..........
});
.....
this.resource('post', {path: 'posts/:post_id'});
});
在posts.hbs中,每个帖子的标题显示为指向帖子的链接。当然,通过将每个模型循环为| post |并打印链接到post.title。
我的post.js文件只是获取帖子的模型并将其返回。
export default Ember.Route.extend({
model: function(){
var posts = [
{
id:'1',
title:'lipsome vesicle',
body:"A liposome is a spherical vesicle"},
{
id:'2',
title:'another lipsome vesicle',
body:"A liposome is a another vesicle"}
]
//console.log(posts)
return posts;
}
});
在我的post.hbs模板中,我想简单地显示帖子的标题和正文。如果它像post.title或类似的东西,它会更加可修改。但我看到了一些教程如下。
export default Ember.Route.extend({
model: function(params) {
return this.modelFor('posts').findBy('id', params.post_id);
}
});
url转到localhost:4200 / post / 1 但是我看不到标题和正文
当我在控制台中检查
的值时 <h1>{{title}}</h1>
<h1>{{body}}</h1>
但视图为空白。 我在某处读过,控制器是负责从模型中获取值的控制器。在那种情况下,我也不知道如何在该控制器中访问返回的模型。
我看过很多教程,包括railscast的raffler示例,因为我有rails的背景知识。但包括很多其他在内的那些东西似乎已经过时了。因此适用于所有新学习者这也是令人沮丧和困惑的。 除了emberjs指南外,还有新鲜的资源吗?
答案 0 :(得分:0)
因为标题是在控制台上打印的,经过多次试用后我尝试了这个技巧,我终于设法在个人帖子中获得了我的头衔。当我点击$ E控制台时,Ember检查员插上了我的所有帖子。所以我把那个对象放在数组中并返回该数组。
model: function(params) {
// console.log("hell")
console.log(this.modelFor('posts').findBy('id', params.post_id).title);
var post = [this.modelFor('posts').findBy('id', params.post_id)];
return post;
}
然后在我看来我循环遍历数组:
<ul>
{{#each model as |post|}}
<li>{{post.title}}</li>
{{/each}}
</ul>
但我想知道更好的方法。