Angular 2.0コンポーネントを記述するとき、プロパティのデフォルト値はどのように設定されますか?角度2コンポーネントのプロパティのデフォルト値を設定するにはどうすればよいですか?
たとえば、デフォルトでは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>
Logged to console:
'baz'
'bar'
'baz'
<foo-component [zalgo] = 'released'></foo-component>
Logged to console:
'bar'
undefined
undefined
試してみるとどうなりますか? –
@BryanRayner現在のコンソールの印刷方法は正しいです。あなたが直面している問題は何ですか? –
私は現在、問題に直面していない、意図した動作の明確化を求めている。私の好奇心に対する答えが見つからなかったとき、私は他の人が明快に同じ希望を持っている場合に質問をすることにしました。 –