无法设置指令输入值



我已经缩小了我在这个指令代码中遇到的问题:

@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

似乎你想传递一个字符串

<h2 [tdStepTracker]="something">Hello {{name}}</h2>

应更改为以下之一

<h2 [tdStepTracker]="'something'">Hello {{name}}</h2>
<h2 tdStepTracker="something">Hello {{name}}</h2>

代码绑定到不存在的类 App 的属性something

普伦克示例

最新更新