0

在我的主干函数中,我没有过滤器方法,所以我决定改用 'this.$el.append()', 'this.$el.html()' - 但替换 html() 不起作用. 我想我可以用新系列来代替孔视图。

它也试图制作 this.$el.empty(),但不起作用......所以我怎样才能从父级清除现有元素,并附加新一代元素..?

我的代码:

    renderBoard:function(item){
          var singleView = new taskListPhraseI.oneView({model:item}),
// after this, i need to make parent of the element should be empty...
          board = this.$el.append(singleView.render()),

          newBoard = board.find('.indBoard:last');
          this.positionBoards(newBoard);
        },

我怎样才能做到这一点?

4

1 回答 1

1

因此,如果您的视图设置如下

views = window.views || {};

views.ExampleView = Backbone.View.extend({

    initiliaze: function(){
        // do some stuff
    },

    render: function(){

        $(this.el).html("<YOUR HTML GOES HERE></YOUR HTML GOES HERE>");

        // return yourself as simple to chain access to your "el"
        return this;
    }

});

然后当你渲染你的视图并想事先删除所有其他视图时,它会像

renderView: function(item)
{
    var test=new views.ExampleView({
       model:item
    });

    // this should replace the elements contents with the views html above
    $(this.el).html(test.render().el);
}

如果您仍然遇到问题,也许“this”已经失去了上下文,并且不再指代您的类,我会在您渲染时调试它的值。

希望有帮助

于 2013-01-25T13:37:38.577 回答