繁体   English   中英

如何在控制器中导入车把模板并将其放置在另一个车把模板中

[英]How to import handlebars template in controller and place it in another handlebars template

抱歉,这个问题很愚蠢。 我已经开始使用ember js从事前端工作,对此我很喜欢。 我陷入了要在ember js控制器中导入车把模板并将其附加到div的问题。

因此,如何在控制器中导入车把模板并将其填充并将其放置在另一个车把模板中。

这是我的控制器:

import Ember from 'ember';

export default Ember.Controller.extend({

    actions: {
    search: function() {
            alert("done");
          }
    }

});

这是把手模板:

<table class="table table-striped">
   <thead>
   <tr>
       <th>Name</th>
       <th>Mark</th>
       <th>Subject</th>
   </tr>
   </thead>
   <tbody>
   {{#each students}}
   <tr>
       <td>{{ this.name }}</td>
       <td>{{ this.mark }}</td>
       <td>{{ this.subject }}</td>
   </tr>
   {{/each}}
   </tbody>
 </table>

我已经在github上发布了代码,URL是: https : //github.com/focode/emberjs2/tree/master/app

您无需从控制器中填充模板。 您可以直接从模板中使用它。

为此,您基本上有两种方法。 首选方式是使用组件。 但是请注意,这将为您提供新的隔离环境。 另一种方法是使用partial helper ,它将在当前上下文中呈现模板。

我的建议是再次阅读官方教程。 在本教程中,您将看到很少使用controller

当您使用生成路由器ember-cliember g route routeName下的模板文件夹,名为生成对应模板routeName.hbs在模板中,有一个名为标签{{outlet}}这是嵌套的模板去。

例如,使用ember g route routeName/nestedOne生成嵌套路由,这会在template/routeName/nestedOne.hbs内部提供另一个名为nestedOne.hbs template/routeName/nestedOne.hbs ,该模板实际上位于私有生成的模板routeName.hbs{{outlet}}内。

Ember 在配置上使用约定,因此您无需手动导入模板。

推荐一个涵盖很多内容的初学者教程。 它是免费和更新的(最新更新是在2016年末)。

https://leanpub.com/ember-cli-101

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM