u-ryo's blog

various information for coding...

Communication Between Components on Angular

| Comments

Angularでcomponent間通信しようと思いました。 これまで一つにしていたcontrol formとそれをはんえいするimage viewを 別componentにして、その間で情報伝達したり、 あるtimingで他方のfunctionを叩いたり、 とかしたくなるわけですね。 コンポーネント間のデータ授受メモとかAngular2でComponentをまたがったデータのやり取りとかコンポーネント間でデータを共有するとかちょっと調べればもう色々書いてあって、 親子だとどうとか兄弟間だとこうとかあるわけです。 今回は兄弟間だったので間を取り持つService作って兄から書いて弟で読むとかその逆とかやってたんですが、 ngx-store@SharedStorage使えば一発ですよそんなの。 最初から知ってればもっともっと簡単に済んだのに。 JHipsterでは ngx-webstorageが 予め入っているのでこれを使えればいいんでしょうけど、 this.$sessionStorage.store('key', 'value')して this.$sessionStorage.retrieve('key')取り出すというように、 ngx-storeと比べてちょっと面倒です。 っていうか、JHipsterでもngx-store使ってくれればよかったのに。 Local Storageにも保存できますし、ってそれはどちらも同じですが、 ngx-storeの方は特にstore/retrieveとかしなくても、 意識しなくても変数に@SharedStorageとか@LocalStorageとすれば 他のcomponentでも変更された値がそのまま参照できるというスグレモノです。 全部これ使えばいーんですよ。

Comments