最佳答案
在编写 Angular 2.0组件时,如何设置属性的默认值?
例如-我想将 foo
默认设置为 'bar'
,但绑定可能会立即解析为 'baz'
。这在生命周期钩子中是如何发挥作用的?
@Component({
selector: 'foo-component'
})
export class FooComponent {
@Input()
foo: string = 'bar';
@Input()
zalgo: string;
ngOnChanges(changes){
console.log(this.foo);
console.log(changes.foo ? changes.foo.previousValue : undefined);
console.log(changes.foo ? changes.foo.currentValue : undefined);
}
}
给定以下模板,这就是我所期望的值?
<foo-component [foo] = 'baz'></foo-component>
登录到控制台:
'baz'
'bar'
'baz'
<foo-component [zalgo] = 'released'></foo-component>
登录到控制台:
'bar'
undefined
undefined