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 foothà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