dlタグにデータを入力する必要があるビューがあるので、そのビューで次のようなマークアップを生成する必要があります。
<dt><i class="icon-<%= icon %>"></i><%= title %></dt>
<dd><%= content %> </dd>
だから、私は実際に機能するトップレベルの要素を持っていません。後でその一番上の要素にいくつかのアイテムを入れる必要があるので、dlタグにすることはできません。
これから抜け出す方法はありますか?
dlタグにデータを入力する必要があるビューがあるので、そのビューで次のようなマークアップを生成する必要があります。
<dt><i class="icon-<%= icon %>"></i><%= title %></dt>
<dd><%= content %> </dd>
だから、私は実際に機能するトップレベルの要素を持っていません。後でその一番上の要素にいくつかのアイテムを入れる必要があるので、dlタグにすることはできません。
これから抜け出す方法はありますか?
ここに良い代替手段はありません。あなたが言うように、アイテムビューには有効なタグがなく(adl
は実際には子としてのみ有効でdt
あるdd
ため)、ビューには正確に1つの$elがあります。
おそらく、コードをリファクタリングして、代わりにDL全体を表すコレクションビューを作成する必要がありますか?コレクションにモデルがたくさんない場合は、モデルのいずれかが変更されたときにDL/コレクションビューを再レンダリングしても問題ない可能性があります。
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が必要な場合は、これを回避する方法は考えられません。セマンティクスをあまり気にしない場合は、個別のアイテムビューを持つ順序なしリストを使用できます。
私はあなたの質問をあまりよく理解していませんが、ここに答えがあります。概念として、ビュー要素はdlである必要があります。または、この場合、「リスト内のアイテム」(BookCollectionViewやBookItemViewなど)を定義しているため、2つのビューを持つことができます。リスト()。お役に立てば幸いです。