1

モデルのリストに基づいて 1 つのアウトレットにメニューを入力する必要があるインデックス ルートがあります。ただし、各ステートメントでモデルを表すことはできません。

カテゴリ モデルは次のとおりです。

App.Category = DS.Model.extend({
    title: DS.attr('string'),
    parent: DS.belongsTo('App.Category')
})

そして、これが私がそれをレンダリングするindexRouteです

App.IndexRoute = Em.Route.extend({
renderTemplate: function(){
    this.render('index')
    this.render('categoryMenu',
        {
            outlet: 'sidebar',
            into: 'index',
            model: function() {
                return App.Category.find()
            },
            controller: App.CategoriesController
        })
    this.render('badgesList',{
        outlet: 'badgesList',
        into: 'index'
    })
}
})

インデックス テンプレート:

<script type="text/x-handlebars" data-template-name="index">
    <div class="span3">
        {{outlet sidebar}}
    </div>
    <div class="span8">
       {{outlet badgesList}}
    </div>
</script>

ネストされたカテゴリ テンプレート

<script type="text/x-handlebars" data-template-name="categoryMenu">
    <ul>
        {{#each model}}
            {{title}}
        {{/each}}
    </ul>
</script>

each ステートメントをコントローラーモデルのアイテムなどのいくつかの異なるものに変更しようとしましたが、何も表示されません。

助けてくれてありがとう!

4

1 に答える 1

2

CategoriesController最初に次のようにします。

App.CategoriesController = Ember.ArrayController.extend({
    content: function () {
        return App.Category.find()
    }.property()
});

テンプレートの名前をcategories

<script type="text/x-handlebars" data-template-name="categories">
    <ul>
        {{#each model}}
                {{title}}
        {{/each}}
    </ul>
</script>

テンプレートで次のようindexに置き換えます{{outlet}}{{render 'categoies'}}

<script type="text/x-handlebars" data-template-name="index">
    <div class="span3">
        {{render 'categoies'}}
    </div>
    <div class="span8">
           {{outlet badgesList}}
    </div>
</script>

最後に、呼び出しレンダリングを削除しますcategoryMenu

于 2013-04-24T21:40:58.063 に答える