灰烬 - 具有夹具数据的部分模板

时间:2013-11-04 18:19:40

标签: ember.js partial

我刚开始使用Ember并且已经有了基本的Web应用程序结构。我有一个部分模板设置,并希望将一些测试数据带入其中。如果我使用我的“主页”模板,我可以看到我的测试数据,但我无法将其放入我的集合部分模板中。我几乎肯定它必须与我不熟悉的基本Ember概念有关。这是我简化的html,下面是Ember js。如果有人知道如何将'home'模板中的'each'循环带入我的部分'集合'模板中,我将非常感激:

[code]
<script type="text/x-handlebars" ><!-- data-template-name="application" -->
    <div id="main">
        <ul>
            <li>
               <image src="logo.png" style="width:439px;height:102px;"/>
            </li>
            <li>{{#link-to 'home'}}Home{{/link-to}} | {{#link-to 'help'}}Help{{/link-to}}</li>
        </ul>
    </div>

    <div class="collections">
        {{partial 'collections'}}
    </div>

    <div class="statistics">
        {{outlet}}
    </div>        
    </script>

    <script type="text/x-handlebars" id="collections">
        COLLECTIONS<br/>
        <!-- here is where I wand the 'each' loop to go -->
    </script>

    <script type="text/x-handlebars" id="home">
        OnLoad : This is Home Page<br/>            
       <ul>
            {{#each}}
                <li>
                <label>{{title}}</label>
                </li>
            {{/each}}
        </ul>          
    </script>

    <script type="text/x-handlebars" id="help">
        Welcome to Help Page
    </script>
[/code]

这里是上面的JS代码:     [码]     App = Ember.Application.create();

App.Router.map(function(){
    this.resource('home', { path: '/' });
    this.resource('help');    
}); 

App.CollectionsRoute = Ember.Route.extend({
    model: function(){
        return items;
    }
});

App.HomeRoute = Ember.Route.extend({
   model: function(){
       return items;
   }
});
var items = [
  {
   id: 1,
   title: 'Item 1',
   belongsTo: 'parent path 1'
  },{
   id: 2,
   title: 'Item 2',
   belongsTo: 'parent path 2'
  },{
   id: 3,
   title: 'Item 3',
   belongsTo: 'parent path 3'
  }
];

[/code]

1 个答案:

答案 0 :(得分:0)

partial 'collections'具有相同的应用程序模板上下文。所以如果你宣布:

App.ApplicationRoute = Ember.Route.extend({
    model: function(){
        return items;
    }
});

将能够使用:

<script type="text/x-handlebars" id="collections">
    COLLECTIONS<br/>
    <ul>
        {{#each}}
            <li>
            <label>{{title}}</label>
            </li>
        {{/each}}
    </ul>
</script>