Vue.js/トピック/getter を mutation の中で使う

Vue.js/トピック/getter を mutation の中で使う

結論

action から mutation を呼び出しその引数に getter を渡して、mutation はそれを使う。 そして更新処理に mutation を直接使うのはやめて、すべて action 経由にする。

経緯、過程

Vuex はデータの個別管理は止めて、全体で1個だけにしてそれで統合管理しましょうという仕組みである。 これにより Vue で複雑な親子関係を持つオブジェクト間をイベントで複雑に縫い合わせる必要がなくなる。

しかし、個別にデータを持ってないということは、全体から個別のデータを特定するという仕組みが必ず必要になる。 その仕組が getter である。

Vuex では値の更新を mutation 経由で必ずやるルールになっている。 となると、mutation はデータの特定とデータの更新をやる必要が出てくるということである。

しかしそれは出来なくて、簡単な作例では、mutation 内にデータを特定するロジックを全部書くということをやっているのが多い。

いや、データを特定するロジックは getter が持ってるんだからそれ使おうよという話。

しかし mutation 内で getter は呼び出せない。

さあどうする?という話。

javascript/vuejs/topic/use_getter_in_mutation.txt · 最終更新: 2018-11-22 12:34 by ore