backbone.js - 覆盖 Marionette compositeview 渲染的正确方法是什么

标签 backbone.js marionette

我正在使用 Marionette 的复合 View 显示表格 View 。复合 View 的模板有一个带有首字母缩写的 tbody,其中显示了加载动画 gif。

现在,当调用渲染方法时,我想删除这个初始行,然后附加集合获取的结果。然而,Marionette 的默认渲染实现似乎附加到了 tbody。

我的项目 View 的项目模板:

<td><input type="checkbox" class="checkboxContact" id="<%-id %>"/></td>
<td><%-name %></td>
<td> <%-msisdn %></td>
<td> <%-email %></td>
<!--
<td> <%-address %></td>
<td> <%-last_modified_time %></td>-->
<td>
  <i rel="tooltip" class="fa fa-pencil-square-o actions"  id="editIcon" title="edit"></i>
  <i rel="tooltip" class="fa fa-trash-o actions" title="delete"></i>
</td>

重写的渲染方法,如下。

render: function() {
  if (this.collection.size() <= 0) return;

  this.$el.html(this.template((this.collection.toJSON()));
  return this;
}

我也尝试过

render: function() {
  if (this.collection.size() <= 0) return;

  this.$el.html(this.template({
    collection: this.collection.toJSON()
  }));
  return this;
}

这些都不起作用。

最佳答案

我认为你不应该重写你的渲染。 Marionette 知道如何渲染事物。我会考虑改变你实现旋转器的方式。

您可能想要在显示上放置一个微调器,并在集契约(Contract)步后将其关闭 https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.compositeview.md#events-and-callbacks

当集合更新时,您的 View 将重新呈现。你可以听 之前:渲染:集合 如果需要的话,可以删除该点上的行。

关于backbone.js - 覆盖 Marionette compositeview 渲染的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30908359/

相关文章:

javascript - 我如何找到神秘绑定(bind)的 Javascript 事件

javascript - Marionette 模块和 RequireJS 模块

javascript - 有没有办法 console.log Backbone Marionette ItemView 中发生的所有事件

javascript - Backbone Marionette - 如何渲染 CompositeView->CollectionView->ItemView

javascript - Backbone.Collections 中的集合和上下文有何用途?

javascript - 与backbonejs路由器有问题

javascript - Backbone.js:通过模板嵌套 View

backbone.js - RequireJs:使用带有 shim 的 autoloading-deps

javascript - 在 Chrome 中获取间歇性测试失败

javascript - Backbone Marionette 集合过滤