我的router.js中有两条路由
'user/:id' -> will move to user show page
'user-answer/:id/answers' -> will move to user answer page
目前,我使用if条件来更改链接,如以下代码所示。
sidePanel.hbs
{{each users as |user|}}
{{#if (eq routesValue user-answer)}}
{{#link-to user.name user.id answer}}
{{user.name}}
{{/link-to}}
{{else}}
{{#link-to user.name user.id}}
{{user.name}}
{{/link-to}}
{{/if}}
{{/each}}
我在另外两个组件中使用sidePanel组件,如下所示
{{sidePanel routesValue='user-answer' answer=answer users=users}}
{{sidePanel routesValue='user' users=users}}
它工作得很好,但是有没有一种方法可以一次性使用link-to,而不是像传递动态路由参数那样的条件检查?
就像这样
{{each users as |user|}}
{{#link-to user.name user.id optionalParam=answer}}
{{user.name}}
{{/link-to}}
{{/each}}
发布于 2020-08-23 20:11:49
<LinkTo>
表单接受一个@models
参数,该参数接受一个数组:
<LinkTo @route="routename" @models={{this.models}}>
这应该使得在js中计算数组变得很容易:
get models() {
const result = [this.user.id];
if(this.answer) {
result.push(this.answer);
}
return result;
}
https://stackoverflow.com/questions/63538806
复制相似问题