用html替换骨干无法正常工作

时间:2013-01-25 10:38:59

标签: backbone.js backbone-views

在我的骨干函数中,我没有过滤方法,所以我决定使用'this。$ el.append()','this。$ el.html()' - 但替换html()不管用。我想我可以用新的系列来重新审视洞视图。

它也尝试制作这个。$ 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);
        },

我怎样才能实现这一目标?

1 个答案:

答案 0 :(得分: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);
}

如果您仍然遇到问题,也许&#39;这个&#39;丢失了上下文,不再引用你的课程了,我会在你渲染时调试它的价值。

希望有所帮助