编程语言
首页 > 编程语言> > javascript-骨干视图顶级元素问题

javascript-骨干视图顶级元素问题

作者:互联网

我有一个需要将数据填充到dl标签的视图,所以我希望该视图产生一个如下所示的标记:

<dt><i class="icon-<%= icon %>"></i><%= title %></dt>
<dd><%= content %> </dd>

因此,我实际上没有一个可以工作的顶级元素.它不能是dl标签,因为此后我需要在顶部元素中放置几项.

有没有解决的办法?

解决方法:

这里没有很好的选择.正如您所说,项目视图没有有效的标记(因为dl实际上仅在以dt和dd为子代的情况下才有效),并且一个视图仅具有一个$el.

也许您应该重构代码,以便拥有一个代表整个DL的集合视图?如果集合中没有很多模型,则可以在任何模型更改时重新渲染DL / Collection视图:

var Definitions = Backbone.View.extend({
  tagName: 'dl',

  initialize: function () {
    this.collection.on('change', this.render, this);
  }

  render: function () {
    this.$el.html( <output from template that loops over all definitions> );
  }
});

如果您想要有效的HTML,我想不出任何办法.如果您不太在意语义,则可以使用带有单独项目视图的无序列表.

标签:backbone-js,javascript
来源: https://codeday.me/bug/20191127/2075356.html