Javascript Angular routerLink-当您想要添加额外的url文本时,什么是正确的语法?
您好,我有一个组件可以正确输出带有适当href url位置的链接(注意Javascript Angular routerLink-当您想要添加额外的url文本时,什么是正确的语法?,javascript,angular,typescript,frontend,google-cloud-firestore,Javascript,Angular,Typescript,Frontend,Google Cloud Firestore,您好,我有一个组件可以正确输出带有适当href url位置的链接(注意[routerLink]=“card.id”,http://localhost:4200/dashboard/my-卡片/DmJHJJA1e77fEEImKBju): 所以我要做的是在上面的组件标签中直接链接到这个路由/组件。我将[routerLink]语法更改为您在下面看到的内容,得到了这个urlhttp://localhost:4200/dashboard/my-卡片/NaN [routerLink]="card.id/e
[routerLink]=“card.id”
,http://localhost:4200/dashboard/my-卡片/DmJHJJA1e77fEEImKBju
):
所以我要做的是在上面的组件标签中直接链接到这个路由/组件。我将[routerLink]语法更改为您在下面看到的内容,得到了这个urlhttp://localhost:4200/dashboard/my-卡片/NaN
[routerLink]="card.id/edit"
很明显,我无法像以前那样更新routerLink—这是否可能仅通过模板中的语法来实现?或者我必须根据需要重定向onclick事件吗?您可以按如下方式设置
routerLink
[routerLink]=“[card.id,'edit']”
尝试routerLink=“{{card.id}}/edit”
如果要传递路由参数,则首先需要路由名称,然后将参数设置为['routeName',parameter..]
但在这里,由于路由名称本身包含参数,因此需要将两者连接起来并将其用作字符串
[routerLink]=[{{{card.Id}}+'/edit']
有趣-这有用吗?当我尝试[routerLink]=“{{myVar}}”
时,它给了我一个错误[Angular]解析器错误:在需要表达式的地方得到插值({{}),是的,我明白了-它在routerLink周围没有[]
的情况下工作。值得很多分@RichardMatsen是的,[]
用于将父组件中的值绑定到子组件中的@Input()
。它允许传递对象。{}
用于绑定属性和HTML中的字符串。因此routerLink是一个指令,但它还有一个名为routerLink的@input
,在使用[routerLink]
时使用javascript表达式,或者在使用routerLink
时使用角度模板表达式。这就是我对它的看法。。。Ref.@RichardMatsen不管我们的属性是什么,我想这只是角度模板语法的双向绑定?!
{
path: ':id/edit',
component: CardEditComponent,
canActivate: [AuthGuardService]
}
[routerLink]="card.id/edit"