Emberjs的新功能数据未在页面刷新时显示

时间:2014-09-16 06:38:07

标签: javascript jquery ember.js

我是ember.js的新手,有人可以告诉我我缺少的东西,请提前感谢您的帮助!

我在这里下载了示例bloggr-client https://github.com/tildeio/bloggr-client。开箱即用它工作正常,我已经通过调用jQuery对PostsRou​​te进行了更新以返回JSON。这工作正常,这里看起来像。 enter image description here

我的问题是当我刷新或直接转到URL(dev / ember-bloggr / index.html#/ posts / 18)时数据没有显示。

enter image description here

我可以看到数据是在firebug中返回的。 enter image description here

以下是PostsRou​​te:

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; 
   });
 }
});

1 个答案:

答案 0 :(得分:0)

我明白为什么直接行不通。 这就是ember做的事情,我很确定你有帖子嵌套在帖子中。 会发生的事情是,如果没有导航到你的帖子,ember就不会知道url来自哪个帖子。

简单的解决方法是在您的路线中使用setUpControllers,或者在要返回的对象上使用reopenClass。

我指的是用setUpControllers包装你的模型,这将确保你总是返回一个模型。 如果有帮助,请告诉我。