Angular2 ES6 @Input 替代方案
Angular2 ES6 @Input alternative
我正在尝试使用 ES6 语法构建 <markdown-component>
。 ES6 不支持 @Input
语法糖,我找不到可行的替代方案。
我在父级中定义输入:
<ng2-markdown [source]="source"></ng2-markdown>
然后接受输入使用:
@Component({
selector: 'ng2-markdown',
inputs: [ 'source' ]
})
如果我添加一个模板,我可以获得它会按预期输出值,但无法在构造函数中使用输入。
这个模块实际上应该是一个指令,source
值将定义正在加载的 Markdown 文件的路径。
多亏了@Eric Martinez 的评论,我才能让它工作。
直到生命周期的 OnInit
阶段,输入才可用。
以下有效:
...
export class MarkdownComponent {
constructor () {}
ngOnInit() {
console.log(this.source);
}
...
在初始化输入之前,我试图访问构造函数中的输入。
我正在尝试使用 ES6 语法构建 <markdown-component>
。 ES6 不支持 @Input
语法糖,我找不到可行的替代方案。
我在父级中定义输入:
<ng2-markdown [source]="source"></ng2-markdown>
然后接受输入使用:
@Component({
selector: 'ng2-markdown',
inputs: [ 'source' ]
})
如果我添加一个模板,我可以获得它会按预期输出值,但无法在构造函数中使用输入。
这个模块实际上应该是一个指令,source
值将定义正在加载的 Markdown 文件的路径。
多亏了@Eric Martinez 的评论,我才能让它工作。
直到生命周期的 OnInit
阶段,输入才可用。
以下有效:
...
export class MarkdownComponent {
constructor () {}
ngOnInit() {
console.log(this.source);
}
...
在初始化输入之前,我试图访问构造函数中的输入。