我有一个组件父级,它使用input-property调用另一个组件子级。
该属性在childs模板中可用,但在构造函数或OnInit中不可用。这是正常的行为还是我做错了什么?
parent.component.ts
import {Component} from '@angular/core';
@Component({
selector: "parent",
template: `<child [name]="'foobar'"></child>`
})
export class ParentComponent
{
}
child.component.ts
import {Component, Input, OnInit} from '@angular/core';
@Component({
selector: "child",
template: "name={{ name }}"
})
export class ChildComponent
{
@Input () name:string="init";
constructor ()
{
console.log ("constr: " + name);
}
ngOnInit ()
{
console.log ("oninit: " + name);
}
}
修改
更正了我的示例并将@Input放在了类中。
将我的示例更改为实际代码。 模板显示“foobar”,控制台显示一个空字符串。
答案 0 :(得分:1)
更改
console.log ("oninit: " + name);
到
console.log ("oninit: " + this.name);