Lors de l'écriture de composants Angular 2.0, comment définir les valeurs par défaut des propriétés?
Par exemple, je souhaite définir foo
sur 'bar'
par défaut, mais la liaison peut être immédiatement résolue 'baz'
. Comment cela se joue-t-il dans les hooks du cycle de vie?
@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);
}
}
Étant donné les modèles suivants, c'est ce à quoi je m'attends que les valeurs soient. Ai-je tort?
<foo-component [foo] = 'baz'></foo-component>
Connecté à la console:
'baz'
'bar'
'baz'
<foo-component [zalgo] = 'released'></foo-component>
Connecté à la console:
'bar'
undefined
undefined