【发布时间】:2018-04-26 10:58:21
【问题描述】:
我是 Ember 新手,遇到了一个无法解决的问题。我有两条路线 - home 和 lhstree。当 /home 被调用时,我需要渲染两个路由,即。 lhstree 应该在主模板中呈现。为此,我使用了命名outlet。那工作得很好。
但问题是,我需要向 lhstree 模板提供数据。但是永远不会调用 lhstree 模板的模型挂钩。我什至尝试在模型挂钩中添加警报消息,但这也从未执行过。以下是我的代码。任何帮助表示赞赏。
router.js:
Router.map(function() {
this.route('home');
this.route('lhstree');
});
home.hbs:
<html>
<head>
</head>
<body>
Home hbs rendering
{{outlet 'lhstree'}}
</body>
</html>
home.js:
export default Route.extend({
renderTemplate:function()
{
this.render();
this.render('lhstree',{outlet:'lhstree',into:'home'});
}
});
lhstree.hbs:
<ul>
{{#each model as |player|}}
<li>{{player}}</li>
{{/each}}
</ul>
lhstree.js:
model() //THIS MODEL IS NEVER CALLED
{
return ['Player1', 'Player2'];
}
正如我所提到的,lhstree 路由的模型钩子永远不会被调用。因此,在渲染主页模板时,玩家名称 Player1 和 Player2 永远不会显示。
【问题讨论】:
标签: javascript html ember.js