我实现了一个解决方案的变体,用于具有多个动态段的路由,其中一个模型是数组。
可以在这里找到实现。
基本上,路由器是这样定义的:
App.Router.map(function() {
this.resource("ab", { path: "/:a/:b" });
});
当您导航到此路线时,a
按原样使用,并b
转换为数组。两个“模型”都传递给它们各自的控制器,它们都将模板渲染到应用程序模板的命名出口中。
现在,我想#linkTo
在显示数组的模板中使用助手。为了完成这项工作,我需要以某种方式将{{this}}
和当前值组合a
成一个对象。
然后,这个想法是能够为该模板做这样的事情:
<script type="text/x-handlebars" id="b">
Template b:
{{#each model}}
{{#linkTo ab {a: {{this}}, b: controller.content} }} {{this}} {{/linkTo}}
{{/each}}
</script>
这甚至可能吗,还是有其他选择?