我已经缩小了我对这个指令代码的问题:
@Directive({
selector: '[tdStepTracker]'
})
export class StepTrackerDirective {
@Input('tdStepTracker') keyName: string;
ngOnInit() {
console.log('keyName', this.keyName);
}
}
在这里使用:
@Component({
selector: 'my-app',
template: `
<div>
<h2 [tdStepTracker]="something">Hello {{name}}</h2>
</div>
`,
})
export class App {
name:string;
constructor() {
this.name = 'Angular2'
}
}
当我记录this.keyName
的内容时,我得到undefined
。我希望得到something
。
这是一个关于plunker的链接:https://plnkr.co/edit/Cbw6CHbsppiuVpW4kpTh
答案 0 :(得分:2)
似乎你想传递一个字符串
<h2 [tdStepTracker]="something">Hello {{name}}</h2>
应改为
之一<h2 [tdStepTracker]="'something'">Hello {{name}}</h2>
<h2 tdStepTracker="something">Hello {{name}}</h2>
您的代码绑定到不存在的类something
的属性App
。