无法摆脱backbone.js视图的外部div

时间:2012-07-29 10:29:07

标签: javascript backbone.js

我正在使用Backbone 0.9.2,我有一个使用twitter bootstrap的小胡子模板,看起来像这样:

<div class="modal hide something" id="something-modal">
...
</div>

我试图摆脱骨干添加的额外<div>,因为我希望视图以1对1作为我的模板。我的渲染功能类似于:

render: function(){

    var $content = $(this.template()),
          existing_spots = $content.find('.spots-list'),
          new_spot;

      this.collection.each(function (spot) {
          new_sweetspot = new SpotView({ model: spot });
          existing_spots.append(new_spot.render().el);
      });

      $content.find("[rel=tooltip]").tooltip();
      this.setElementsBindings($content);
      //this.$el.html($content).unwrap('div'); // didn't work!
      this.$el.html($content);
      console.log(this.$el); 
      return this;
    }

我知道通过添加:

tagName: "div",
className: "modal",

我会摆脱它,但我希望控制视图的元素是模板,而不是JS代码。

this.SetElement会导致列表无法更新(它将为空),this.$el = $content;也无效。

1 个答案:

答案 0 :(得分:2)

上周在SO上有一个很好的主题。

Backbone, not "this.el" wrapping

tl;博士你可以使用setElement,但你真的需要知道骨干什么时候发生,以确保一切都正确连接。

相关问题