将控制器/模板/路径渲染到另一个模板中

时间:2014-02-06 14:04:06

标签: ember.js

这可能是一项非常常见的任务,但我不确定哪种方法可以解决这个问题。

我有一个路由/控制器/模型设置,可以加载组。在主要内容之前的标题区域中,我想为用户显示通知。我创建了一个notificationcontroller,它是一个数组控制器,也是一个加载所有通知的路由。

我不希望这条路线用于此区域以外的任何其他路线。

我已经在groups.hbs中尝试添加额外的{{ outlet notification }}并尝试在其中呈现:

App.GroupsRoute = GambifyApp.BaseRoute.extend({
    model: function() {
        return this.get('store').find('group');
    },

    renderTemplate: function() {
        this.render('notifications', {   // the template to render
                // into: 'notifications',                // the route to render into
                outlet: 'notification',              // the name of the outlet in the route's template
                controller: 'notifications',       // the controller to use for the template
                });
        this.render('groups');
    }

});

但不知怎的,我的通知模板未被使用。目前我的NotificationsController(它是一个ArrayController)并不多,NotificationsRoute只读取所有Notifications作为Model,模板目前只是text,不在我的groups.hbs中呈现

1 个答案:

答案 0 :(得分:1)

必须首先渲染包含要渲染到的插座的模板,以便渲染到插座中。以下是从application路径转换到index模板中的命名商店的示例:

http://emberjs.jsbin.com/qoyi/1/edit?html,js,output

如果此示例没有为您清除,请发表评论。