Angular2 ES6 @Input替代品

时间:2015-12-28 19:22:51

标签: ecmascript-6 angular angular2-inputs

我尝试使用ES6语法构建<markdown-component>。 ES6中不支持@Input语法糖,但我无法找到可行的替代方案。

我在父母中定义输入:

<ng2-markdown [source]="source"></ng2-markdown>

然后使用以下方式接受输入:

@Component({
  selector: 'ng2-markdown',
  inputs: [ 'source' ]
})

如果我添加一个模板,我可以得到它将按预期输出值,但是没有办法在构造函数中使用输入。

此模块实际上应该是一个指令,source值将定义要加载的Markdown文件的路径。

1 个答案:

答案 0 :(得分:2)

感谢@Eric Martinez的评论,我能够让它发挥作用。

在生命周期的OnInit阶段之前,输入无法使用。

以下工作:

...
export class MarkdownComponent {
  constructor () {}

  ngOnInit() {
    console.log(this.source);
  }
...

在输入初始化之前,我试图访问构造函数中的输入。