2

我有这个控制器从服务器获取数据我必须触发fetchPosts方法并添加新的后触发add

App.PostsController = Ember.ArrayController.extend({
  actions: {
    fetchPosts: function (id) {
      var data = App.Post.find({category: id});
      this.set('model', data);
    },
    add: function () {
      var post = this.get('newPost');
      post.save().then(function () { 
        this.pushObject(post);
      });
   }
});

问题是记录正在添加到列表的底部。我希望它像原生 js 一样工作,unshift但现在它像push. 寻找类似unshiftObject使添加的对象成为数组中的第一个对象的东西。

4

1 回答 1

5

unshiftObject在 Ember http://emberjs.com/api/classes/Ember.MutableArray.html#method_unshiftObject中工作。

您的代码在此处存在超出范围的问题:

  var post = this.get('newPost');
  post.save().then(function () { 
    this.pushObject(post); // <----- this this wouldn't be the array controller
  });
于 2014-08-21T14:16:52.597 回答