0

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

[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 代码: [code] 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]
4

1 回答 1

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>
于 2013-11-04T18:38:32.740 回答