我是ember.js的新手,有人可以告诉我我缺少的东西,请提前感谢您的帮助!
我在这里下载了示例bloggr-client https://github.com/tildeio/bloggr-client。开箱即用它工作正常,我已经通过调用jQuery对PostsRoute进行了更新以返回JSON。这工作正常,这里看起来像。
我的问题是当我刷新或直接转到URL(dev / ember-bloggr / index.html#/ posts / 18)时数据没有显示。
我可以看到数据是在firebug中返回的。
以下是PostsRoute:
App.PostsRoute = Ember.Route.extend({
model: function() {
return $.getJSON('cf.cfc?method=getData').then(function(d){
var data = cfQueryNormalize(d)
return data.map(function(post){
return post;
});
});
}
});
这是我的PostRoute:
App.PostRoute = Ember.Route.extend({
model: function(params) {
return $.getJSON('cf.cfc?method=getData&id='+params.post_id).then(function(d){
var data = cfQueryNormalize(d)
console.log(data);
return data;
});
}
});
答案 0 :(得分:0)
我明白为什么直接行不通。 这就是ember做的事情,我很确定你有帖子嵌套在帖子中。 会发生的事情是,如果没有导航到你的帖子,ember就不会知道url来自哪个帖子。
简单的解决方法是在您的路线中使用setUpControllers,或者在要返回的对象上使用reopenClass。
我指的是用setUpControllers包装你的模型,这将确保你总是返回一个模型。 如果有帮助,请告诉我。