Khi viết các thành phần Angular 2.0, làm cách nào để đặt giá trị mặc định cho các thuộc tính?
Ví dụ - tôi muốn đặt foo
thành 'bar'
theo mặc định, nhưng ràng buộc có thể giải quyết ngay lập tức thành 'baz'
. Điều này diễn ra như thế nào trong các móc vòng đời?
@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);
}
}
Với các mẫu sau, đây là những gì tôi mong đợi các giá trị sẽ là. Tôi có lầm không?
<foo-component [foo] = 'baz'></foo-component>
Đã đăng nhập vào bảng điều khiển:
'baz'
'bar'
'baz'
<foo-component [zalgo] = 'released'></foo-component>
Đã đăng nhập vào bảng điều khiển:
'bar'
undefined
undefined