Angular2 ES6 @Input替代品

Eva*_*ice 5 ecmascript-6 angular2-inputs angular

我正在尝试构建一个<markdown-component>使用ES6语法.该@Input语法糖不ES6支持,我无法找到一个可行的替代方案.

我在父母中定义输入:

<ng2-markdown [source]="source"></ng2-markdown>
Run Code Online (Sandbox Code Playgroud)

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

@Component({
  selector: 'ng2-markdown',
  inputs: [ 'source' ]
})
Run Code Online (Sandbox Code Playgroud)

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

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

Eva*_*ice 2

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

输入直到OnInit生命周期阶段才可用。

以下工作有效:

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

  ngOnInit() {
    console.log(this.source);
  }
...
Run Code Online (Sandbox Code Playgroud)

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