1

編集:質問は取り消されました。CollectionViews は、ContentViews のサブクラスとして、レイアウトを尊重しないため、イライラします。

CollectionViews はレイアウトでは機能しないようです。例えば:

テストケース: http://jsfiddle.net/73sWp/

テンプレート:

<script type="text/x-handlebars" data-template-name="layoutTest">
    <div class="my-collection">
        <h1>{{title}}</h1>
        {{yield}}
    </div>
</script>       

<script type="text/x-handlebars" data-template-name="layoutTest-child">
    <div class="an-item">
        Hi there.
    </div>
</script>

脚本:

var TestView = Ember.CollectionView.extend({
    layoutName: "layoutTest",
    title: "My Collection",
    childViews: [
        Ember.View.create({
            templateName: 'layoutTest-child'
        }),
        Ember.View.create({
            templateName: 'layoutTest-child'
        })
    ]
});
$(function () {
    TestView.create().appendTo(document.body);
});

期待される:

<div class="my-collection">
    <h1>My Collection</h1>
    <div class="an-item">
        Hi there.
    </div>
    <div class="an-item">
        Hi there.
    </div>
</div>

実際:

<div class="an-item">
    Hi there.
</div>
<div class="an-item">
    Hi there.
</div>

明らかな何かが欠けていますか?

4

1 に答える 1

3

レイアウトはテンプレート ベースであり、CollectionView はテンプレートなしで使用することを目的としています。

この問題は少し議論されており、ContainerView でのレイアウトの使用をサポートしたいというコンセンサスがあると思います。

この機能を追加するプル リクエストが送信されました: https://github.com/emberjs/ember.js/pull/928

于 2012-06-02T23:27:08.873 に答える