1

これらのテンプレートを考えると:

<script id="template1" type="layout">
    Template 1 contents
</script>

<script id="template2 type="layout">
   Template 2 contents
   <section class="subview"></section>
</script>

そして、このビューのセットアップ:

var View1 = Backbone.LayoutView.extend({
    template: "#template1"
});

var View2 = Backbone.LayoutView.extend({
    template: "#template2",
    views: {
        ".subview": new View1();
    }
});

私はこの出力を得ます:

Template 2 contents
<section class="subview"><div>Template 1 contents</div></section>

代わりにこの出力を取得するにはどうすればよいですか?

Template 2 contents
<section class="subview">Template 1 contents</section>
4

2 に答える 2

3

テンプレート1のテンプレートを同じに保ちながら、テンプレートで次を使用します。

<script id="template2 type="layout">
    Template 2 contents
</script>

次に、あなたの見解で

var View2 = Backbone.LayoutView.extend({
    template: "#template2",
    beforeRender: function() {
        this.insertView(new View1());
    }
});

var View1 = Backbone.LayoutView.extend({
    template: "#template1",
    tagName: "section",
    className: "subview"
});

これにより、次のようになります

<div>
   Template 2 contents
   <section class="subview">Template 1 contents</section>
</div>

tagName 属性を指定しない限り、「div」を削除する他の方法は見つかりませんでした。

于 2012-12-12T06:56:05.567 に答える