タグ

Vuexに関するroogh5eeSha6のブックマーク (16)

  • VuexにおけるGettersのメソッドスタイルアクセス - emahiro/b.log

    gettersでstateから任意の値を取り出すときにVuexではGettersのプロパティの返り値にfunctionを指定することで、Gettersのプロパティに関数の引数という形で直接値を渡す(アクセスできる)手法があります。これを メソッドスタイルアクセス と言います。 メソッドアクセススタイルについてはVuexの公式のGettersのドキュメントでも記載があります。 ref. ゲッター #メソッドスタイルアクセス | Vuex サンプルコードは以下のようになります。 Gettersでのプロパティの定義 getters: { hogeById: (state) => (id) => { // 外部から直に私た変数をidに入れて使うことができる。 } } 呼び出す側 store.getters.hogeById(2) // or this.hogeById(2) // getters.

    VuexにおけるGettersのメソッドスタイルアクセス - emahiro/b.log
  • Vue.js/Vuex/getter [Ore Base]

  • Nuxt.jsでのゲッターの使い方 - Qiita

    まずはストアを作ってgettersの中に定義(クラシックモード使用時) 練習なのでクラシックモードで。。。 今回はitem(配列)を使う場面を想定 import Vuex from 'vuex'; const store = { state: { items: [], }, getters: { items: state => state.items, }, //この辺で実際にitemsの情報をapi通信で取得するイメージ 画面側で使うとき(値を取得してv-forでぶん回して表示する画面のイメージ) 1.<script>の最初でmapGettersをインポートする 2. computedの中でmapGettersヘルパーを使って使いたいゲッターを宣言 これでv-forの中でitemsが使えるようになる <template> <section class="container"> <div>

    Nuxt.jsでのゲッターの使い方 - Qiita
  • Nuxt.jsのストアをモジュールモードで使用するときのTips - Qiita

    はじめに Nuxt.jsのストアは、「クラシックモード」と「モジュールモード」の2つの書き方があります。 中〜大規模なアプリケーションでストアが肥大化してくると、 クラシックモードでは見通しが悪くなるので、モジュールモードで管理したほうがスッキリ見やすくなりよいとされています。 今回は、クラシックモードからモジュールモードに書き換える際に便利だった点・ハマった点を残しておきます。 想定する読者 Vuexを使ったことがあり、ミューテーションなどの基的な使用法はわかる Nuxt.jsでストアを使用している Nuxt.jsでストアのモジュールモードを使用した開発をしている、またはしようと思っている ストアの構成 クラシックモードで書くと まず普通にクラシックモードで書いた場合です。 import Vuex from 'vuex' const state = () => ({ counter:

    Nuxt.jsのストアをモジュールモードで使用するときのTips - Qiita
  • なるはや Vue SPA入門:Vuex ファイル分割 - Qiita

    Vue CLI3 で作成した SPA(Single Page Application)プロジェクト上で、段階的に Vue.js を学んで行きましょう。 目次はこちら 今回は Vuex ファイル分割編です。 前提事項 Vuex モジュール編 が完了していること。 前回、store.js 内に複数のモジュールを作成しました。しかし、ある程度の規模のアプリケーションになると、モジュールが多数必要になり、store.js が肥大化してしまいます。そこで、store.js を複数のファイルに分割してみたいと思います。 以下のファイル構成に分割します。 src ├── store │   └── modules │   ├── counter.js │   └── todolist │   ├── actions.js │   ├── getters.js │   ├── index.js │   └

    なるはや Vue SPA入門:Vuex ファイル分割 - Qiita
  • Vuexでモジュールと処理を細分化する - Qiita

    Nuxt.jsを最近やり始めたんだけれど、Vuexでの状態管理がサクサクと書けて非常に良いな、という印象を持っている んで、Vuexで利用する store フォルダ内のファイルをどのように分割するか、というと、これはどうやら人それぞれらしい index.js 内に全てまかなう方法 index.js、posts.js、user.js とみたいにモジュール毎にファイル分け index.js、mutations.js、actions.js、getters.jsのように状態管理の要素別にファイル分け このような方法があるけれど、以下のようにモジュール別にフォルダを分けて、状態管理の要素別にファイル分けするという方法でやってみた └── store ├── index.js └── posts │ ├── actions.js │ ├── getters.js │ ├── index.js │ └─

    Vuexでモジュールと処理を細分化する - Qiita
  • 【Nuxt.js】VuexモジュールモードでStore以下のファイル群を整理する時のあれこれ - Qiita

    はじめに Nuxt.jsのVuexモジュールモードで、store以下のファイルが増えてきて整理したくなりました。 いざディレクトリを切ってファイルを整理し始めると、stateやactionへのアクセス仕方で少し手間取ったので... 今回は、store配下でディレクトリを切った時、名前空間の違うvuexモジュールやVueコンポーネントからVuexのモジュールにアクセスする方法を備忘録的にまめておきます。 store内の構成 例として以下のようなディレクトリ構成下で説明して行きます。(コードの中身に意味はないでスルーしてください) ちなみにNuxt.jsではstore/index.jsがストアインスタンスを返さない時、モジュールモードになります。詳しくはこちら。 export const state = () => ({ token: null }) export const mutation

    【Nuxt.js】VuexモジュールモードでStore以下のファイル群を整理する時のあれこれ - Qiita
  • Vuexのモジュールから他のモジュールのメソッドを呼ぶには « LANCARD.LAB|ランカードコムのスタッフブログ

    muraveです。ごぶさたしております。 Nuxt.jsとかVue.jsの小ネタをまとめて書こうと思ったのですが、これは分けておいたほうがいいかな?と思ったので先に書いておきます。 Vuexのモジュールによる名前空間は処理を分割管理するのに便利です。 モジュール | Vuex ですが、他のモジュールのメソッド(action, mutation)を呼ぶことができない(と思っていた)ので、不便に感じつつルートであるindex.jsに共通処理を集めたりなどしていました。が、先日、呼び出し方法に気づきました。 前掲のモジュールのドキュメントにあるように名前空間内で普通にdispatchやcommitを使うと同一名前空間のaction、 mutationが実行されます。 rootオプションがあり、これを渡すことでルートのものを呼ぶこともできます。 ドキュメントのサンプルコードから抜粋して引用します。

  • Vuexのテストで別モジュールの呼び出しをしたい - Qiita

    前置き: Vuexストアの名前空間について Vuexのstoreにおいて、ファイルが肥大化するのを防ぐためにモジュールを名前空間で分けることがあります。 その際、storeファイルで別モジュールのファイルを呼び出すときは「モジュール名/アクション名」で書くことができます。 (Nuxt.jsのモジュールモードで書いた例です。Vuexのみの場合は書き方が違う可能性があります。) 例: store/index.js export const actions = { async clientLogin({ commit, dispatch }, params) { try { //ログイン処理 } catch (error) { //ログイン失敗時 if (error.response.status == "401") { dispatch( //store/index.js内で、store/pr

    Vuexのテストで別モジュールの呼び出しをしたい - Qiita
  • モジュール | Vuex

    単一ステートツリーを使うため、アプリケーションの全ての状態は、一つの大きなストアオブジェクトに内包されます。しかしながら、アプリケーションが大きくなるにつれて、ストアオブジェクトは膨れ上がってきます。 そのような場合に役立てるため Vuex ではストアをモジュールに分割できるようになっています。それぞれのモジュールは、モジュール自身の状態(state)、ミューテーション、アクション、ゲッター、モジュールさえも内包できます(モジュールをネストできます)- トップからボトムまでフラクタル構造です: const moduleA = { state: () => ({ ... }), mutations: { ... }, actions: { ... }, getters: { ... } } const moduleB = { state: () => ({ ... }), mutations

  • 【Vue.js】Vuexで他のモジュールのアクションを呼び出す【メモ】

    ストアオブジェクトを複数のモジュールに分けていた場合に、1つのモジュールから他のモジュールのアクションを呼び出した方が効率的ということがあります。それぞれ名前空間が決まってるわけだし、呼び出すことは出来ないんじゃないか……と思ってたんですけど、普通に出来るみたいですね。 公式ドキュメントの中にこんな記述があります。 モジュール | Vuex modules: { foo: { namespaced: true, getters: { // `getters` はこのモジュールのゲッターにローカライズされています // ゲッターの第4引数経由で rootGetters を使うことができます someGetter (state, getters, rootState, rootGetters) { getters.someOtherGetter // -> 'foo/someOtherGett

    【Vue.js】Vuexで他のモジュールのアクションを呼び出す【メモ】
  • VuexのStoreはNuxt.jsのマニュアルを見るとすぐ理解できる - Crieit

    最近のJavaScriptのフレームワークを勉強したての人の場合、Vue.jsなどはすぐ理解できても、Fluxの概念やVuexのStore等でわからなくなってしまうことはありませんか? そういう場合、Nuxt.jsを触りつつNuxt.jsのマニュアルを見ると非常に簡潔で理解しやすいです。 具体的には下記のページです。ここを参考にしながら説明していきます。先にリンクの説明を見たい場合は「モジュールモード」の方を見るとより分かりやすいと思います。当記事の内容もそちらをベースに進めていきます。 Vuex ストア - Nuxt.js そもそも何に使うものなのか? Storeはアプリケーション全体の状態を管理してくれるものです。具体的にはログインしているユーザーの情報などが一番わかり易いと思います。 具体的にどうやって使うのか Nuxt.jsの場合、まず store/index.js に状態の定義を

    VuexのStoreはNuxt.jsのマニュアルを見るとすぐ理解できる - Crieit
  • Vue vuexでfirebaseのログイン保持 - Qiita

    移行しました 最新のVue3で書き直しました!Zenn Vue3でFirebaseログイン 以下は2年前の情報です。 Vueチュートリアル vuexでfirebaseのログイン保持 Vue.jsでfirebaseのログイン実装の記事はよく見かけますが、単一コンポーネント内での処理ばかりでした。 なので全体でログイン状態を共有できるようvuexを導入したいと思います。 vuexにデータを入れると、どのコンポーネントからでもアクセスできます。 Vueプロジェクトの作成からやりたいと思っています。 DEMOページ ・ログイン及びログアウトボタンを表示するコンポーネント ・ユーザー情報を表示するコンポーネント 以上の2つで、vuexのデータへアクセスしています。 環境 node 8.11.4 npm 5.6.0 vue 3.0.1 npm install -g @vue/cli npm inst

    Vue vuexでfirebaseのログイン保持 - Qiita
  • Vue.js:Vuexのエラー:「[vuex] Do not mutate vuex store state outside mutation handlers」の原因と対応例 - Qiita

    <template> <!-- v-modelにstateの値を設定 -> <v-test-comp v-model="theValue"></v-test-comp> </template> <script> import { mapState } from "vuex"; export default { computed: { //stateの値にアクセスできるよう設定 ...mapState(["theValue"]) } } </script>

    Vue.js:Vuexのエラー:「[vuex] Do not mutate vuex store state outside mutation handlers」の原因と対応例 - Qiita
  • 【Vuex】ストアの4つの概念まとめ【唯一の情報源】 - Qiita

    Vuexの根幹 【ストア】 【役割】 Vuexを使う上でアプリケーションの状態(情報)を保持する役割です。 Vuexのコンセプトである『Vuexは信頼できる唯一の情報源である事』が前提にあるため、ストアはアプリケーションの中でただ一つだけの根幹となる存在です。 今回はその大事な役割であるストアの4つの概念をまとめます。 4つの概念 ・state→アプリケーションの状態(情報) ・getter→stateの一部やstateから返された値を保持する ・mutation→stateを更新(変化)させる ・action→非同期通信や外部APIとのやりとりを行う この4つを一纏めにしたものをモジュールと言います。 モジュールでこの4つを守っているイメージです。 ストアの作成 Vue-cliでVuexを取り込んでおけば、srcフォルダにstore.jsが入っています。 Vuexも読み込まれていますので

    【Vuex】ストアの4つの概念まとめ【唯一の情報源】 - Qiita
  • [vue.js]Nuxt.jsでVuexを使ってみる #nuxtjs #vuejs - ジムには乗りたい

    複数コンポーネントで状態管理をするのに便利らしいVuexを使ってみた。 Vuexストアに状態管理を任せて、各コンポーネントはストア経由で状態変更することで、状態変更を一元管理できるっぽい。 ja.nuxtjs.org ストアの作成 store/sample.js を作成する。 store配下にjsファイルを作ると、Nuxt.jsがVuexストアにしてくれる。 state 状態管理する要素の管理 mutations 状態の操作 actions 状態の操作する処理を呼び出し、反映(commit)する commitしない限り、反映されない 各コンポーネントからは、actionで定義した処理が呼ばれる。 // 状態管理したい要素に名前をつけて、stateとしてexportする export const state = () => ({ // 'hogeFromStore' という名前の状態を管理す

    [vue.js]Nuxt.jsでVuexを使ってみる #nuxtjs #vuejs - ジムには乗りたい
  • 1