如何告诉Emberjs在给定的插座上渲染特定的模板?

时间:2014-02-01 21:41:31

标签: javascript templates ember.js render mustache

我有一个Emberjs模板,如下所示:

<script type="text/x-handlebars" data-template-name="content-area">
    <div id="content">
        <div id="side-tree" class="ui-layout-west">
            <!-- components and deployments tree-->
            <div id="componentsTree" data-source="ajax"></div>

        </div>
        <div id="center-content" class="ui-layout-center">
            {{outlet content-area}}

        </div>
    </div>
</script>

我需要根据用户生成的事件将不同的模板呈现到该内容区域插座中。

此外,在渲染这些模板时,我需要传递一些数据,以便正确渲染。

在处理这些事件时,如何明确告诉Ember将具有特定数据的模板(例如A或B)渲染到内容区域插座?

谢谢!

1 个答案:

答案 0 :(得分:1)

看看this回答。

基本上:

App.SomeRoute = Ember.Route.extend({

    renderTemplate: function() {
        // render the template called A
        this.render('A', {
            into: "application" // inside the application template (or any other already rendered templates)
            outlet: "a" //inside an outlet called a
            controller: "a" //using the controller A
        });

        this.render ....

    },

});

不言而喻,您可以根据需要多次拨打render。此外,controller也可以是您自己实例化和配置的对象。

我希望这可以帮到你!