Ben*_*enR 41 angular2-directives angular
我正在尝试routerLink
根据组件中的动态项集来设置指令中的值.但Angular2引发了一个错误:
EXCEPTION: Template parse errors:
Parser Error: Got interpolation ({{}}) where expression was expected at column 1 in [ {{item.routerLink}} ] in AppHeader@5:40 ("
<a *ngFor="let item of headerItems" [ERROR ->][routerLink]=" {{item.routerLink}} ">
{{item.text}}
</a>
"): Header@5:40
Run Code Online (Sandbox Code Playgroud)
header.component.ts
import {Component} from '@angular/core';
import {ROUTER_DIRECTIVES} from '@angular/router-deprecated';
@Component({
selector: 'app-header',
templateUrl: './app/components/header/header.component.html',
directives: [ROUTER_DIRECTIVES]
})
export class AppHeader {
headerItems: Object[] = [];
constructor() {
this.headerItems.push(
{ classes: 'navLink', routerLink: ['/Home'], text: 'Home' }
);
}
}
Run Code Online (Sandbox Code Playgroud)
header.component.html
<div id="HeaderRegion">
<nav class="nav">
<a *ngFor="let item of headerItems" [routerLink]=" {{item.routerLink}} ">
{{item.text}}
</a>
</nav>
</div>
Run Code Online (Sandbox Code Playgroud)
Gün*_*uer 93
您不能[]
与{{}}
前者或后者结合使用
[routerLink]="item.routerLink"
Run Code Online (Sandbox Code Playgroud)
应该做你想做的.
routerLink="{{item.routerLink}}"
Run Code Online (Sandbox Code Playgroud)
将绑定item.routerLink.toString()
到该routerLink
属性.
小智 9
您也可以使用以下代码来传递带有一些文本的表达式。
<div *ngFor="let customer of customers">
<a [routerLink]="'customer/'+customer.index">Link</a>
</div>
Run Code Online (Sandbox Code Playgroud)
小智 5
此时您可能已经找到答案了,因为我删除了 {{}} 解决了类似的问题。你的代码可能是
<a *ngFor="let item of headerItems" [routerLink]="item.routerLink">
{{item.text}}
</a>
Run Code Online (Sandbox Code Playgroud)
这样的事情对我们有用:
<input type="checkbox" [id]="['btn.botStepState-'+i]" [(ngModel)]="btn.botStepState" name="btn.botStepState-{{i}}" (change)="changeHandler($event)" class="cbx hidden" />
Run Code Online (Sandbox Code Playgroud)
[]
所需的[]
[()]
不需要什么特别的{{}}
可以与一般属性一起使用()
与函数配合很好 归档时间: |
|
查看次数: |
39017 次 |
最近记录: |