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