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