2

我想单独更新一组帖子,并在每个请求完成后重新呈现我的收藏。

目前下面的代码从不触发renderPosts,我不知道为什么

onClickCopyPosts: function(posts, publish_target) {

        var self = this;

        var renderPosts = _.after(posts.length, function() {
            console.log('got here');
            self.collection.fetch({reset: true});
        });

        _.each(posts, function(post) {
            post = new PostModel(post);
            post.set('id', null);
            post.set('publish_target', publish_target);
            post.save({success: renderPosts});
        });
    },
4

1 回答 1

2

save 的签名是model.save([attrs], [options]) .. 并且successhandler 是这里的一个选项。

因此,当您将签名定义为post.save({success: renderPosts});成功处理程序时,它会传递给不执行任何操作的属性。

将其更改为

post.save({}, {success: renderPosts});

或者

post.save(null, {success: renderPosts});

将选项作为第二个参数传递。

于 2013-08-02T16:53:39.680 回答