【发布时间】:2014-09-08 15:33:25
【问题描述】:
我有一个名为 new 的模板,它有一些输入助手来提交新的请求(主题和正文)。在它们之后,我有一个命名的 outlet 标签,它应该显示我们可以添加到请求中的可能服务列表(标签:修复、购买等)。
问题是当我导航到新的时,标签模板只显示静态数据(将显示“内部标签模板”),但#each 根本不循环。
如果我将标签作为新资源添加到 new 中,并导航到 new/tags,那么标签模板将呈现到新模板的两个出口({{outlet}} 和 {{outlet tags}},所以我的代码在显示数据时没有错误,只是在我想要的位置和时间显示它时有错误(仅在新路线内)。
另外,我的两个路由模型都有一条 console.log 消息,说明访问了哪个路由,当我转到新路由时,只有新路由会显示一条消息。
我相信 new 不知道它应该使用标签控制器,但是当谈到 Ember 时我一无所知...(我不想通过新路由获取标签,我想使用标记路线)
export default Ember.Route.extend({
model: function(){
console.log("in new");
},
setupController : function(controller, model){
controller.set("model", model);
},
renderTemplate: function() {
this.render();
this.render('tags', {
outlet: 'tagO',
into: "new",
controller: 'tags'
});
}
});
【问题讨论】:
-
this guide中最后一个代码块之前的代码块中的示例使用
controllerFor获取控制器的引用。你试过吗?另外,以防万一,如果您的控制器位于嵌套文件夹中,请尝试requests/tags。 -
两个文件在同一个文件夹,我已经试过controllerFor...
-
我认为您将错误的参数传递给
into.. 您传递的模板与您尝试插入的模板相同...我认为应该是定义插座tagO的模板的名称,我怀疑它会是request? -
不,只有new和tags模板,tags应该渲染成new的{{outlet tag0}}
标签: ember.js