有没有办法通过传递带路径路径的变量来使用link-to
帮助器动态生成链接?
例如,不要像这样对路径进行硬编码:
{{#linkTo "route.subroute" model}}{{model.title}}{{/linkTo}}
我希望能够将link-to
助手传递给一个包含如下路径的变量:
{{#linkTo destination model}}{{model.title}}{{/linkTo}}
这个用例允许我合并只有这条路径不同的模板。例如,如果有两个集合,每个集合具有不同的目标。使用每个帮助器呈现时,模板是相同的,除了link-to
中的路径。
如果我可以在视图的控制器中保存这个变量并传递它,我只能为这两个列表使用一个模板。
我考虑过手动构建这样的路径:
<a {{bindAttr href="destination"}}>{{model.title}}</a>
但是这没有与路由器的集成来确定我需要的活动状态。
答案 0 :(得分:2)
有没有办法通过传递带路径路径的变量来使用linkTo助手动态生成链接?
目前不是。
这个用例允许我合并只有这条路径不同的模板。例如,如果有两个集合,每个集合具有不同的目标。
同意这是一个有效的用例,我希望linkTo helper将来能够支持它。同时,因为您只有两个集合,您可以使用模板中的条件
来完成此任务{{#if isRouteOne}}
{{#linkTo "routeOne.subrouteOne" model}}{{model.title}}{{/linkTo}}
{{else}}
{{#linkTo "routeTwo.subrouteTwo" model}}{{model.title}}{{/linkTo}}
{{/if}}
答案 1 :(得分:2)
您可以使用{{linkTo}}
代替{{action}}
,并通过在模型的destination
属性中指定的路径名来处理转换事件。
答案 2 :(得分:0)
还有另一个非常相似的问题,我answer这个问题。使用link-to
帮助器的内联版本可以实现解决方案。
在这种情况下,我们会:
{{link-to model.title destination model}}
将编译为:
<a href="#/route/subroute/3856">
Click me
</a>