骨干视图获取两次

时间:2014-08-06 18:13:33

标签: javascript backbone.js

我正在编写一个(据称)简单的Backbone应用程序来与Wordpress(使用JSON API插件)进行交互。我可以使用集合显示页面上的所有当前帖子,但是无法获取单个帖子。 (注意,这里使用的是ajax prefilter)。

var NewsItem = Backbone.Model.extend({
urlRoot: '/api/get_post/',
parse: function(response){
    return response.post;
}

});

我的观点:

var SingleNewsItemView = Backbone.View.extend({
tagName: "div",
id: "single-view",
initialize: function(data) {
    this.render(data);
},
render: function(data) {
    var that = this;
    var singleNewsItem = new NewsItem();
    singleNewsItem.fetch({
        data: $.param({"id": data}),
        success: function(returnitem) {
            var template = _.template($('#single-news-item-template').html(), {newsitem: returnitem});
            that.$el.html(template);
        },
        error: function(){
            alert('error retrieving item');
        }
    });
}

});

正在调用正确的URL,并在屏幕上显示。但是,很快之后,使用id = undefined调用相同的URL,这导致在新闻项的视图上覆盖了错误的数据。

我在点击处理程序中放置了一个alert(),并且由于鬼问题而没有触发两次 - 这是fetch()发生的事情,我无法弄明白!

0 个答案:

没有答案