teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

文章の追加

2021/04/29 00:12

投稿

nutti
nutti

スコア7

title CHANGED
File without changes
body CHANGED
@@ -1,13 +1,14 @@
1
1
  ### 前提・実現したいこと
2
2
  Vue.js初心者です。不足事項などがありましたら追記いたしますのでお申し付けください。
3
3
  よろしくお願いいたします。
4
+ 文章が下手なので、先にソースを見ていただけた方がわかりやすいかもしれません。。。
4
5
 
5
6
  Vueのコンポーネントで、親から呼ばれた子のコンポーネント内で設定値をvuexへ保存したいのですが
6
7
  その際に、親からのvuexの情報を受け取り、その情報を元に保存する先を変更したいと考えました。
7
8
  やりたい構造が下記の通りです。
8
9
 
9
10
  1. 親のコンポーネントで今回呼び出したい共通部品のコンポーネントを呼び出します。
10
- 2. 呼び出す際に、porpsなどでvuexの保存先情報を子コンポーネントへ渡します。
11
+ 2. 呼び出す際に、porpsなどでvuexの保存先(どのモジュールに保存するか)情報を子コンポーネントへ渡します。
11
12
  3. もらった情報を`...mapGetter`や`...mapActions`の第一引数に入れてあげて保存先を選択する
12
13
 
13
14
  子のコンポーネン内(Chidlコンポーネント)では、ボタン(Buttonコンポーネント)などが実装されており、その状態結果を親からもらった保存先情報を元にvuexのモジュール先を選択して保存します。
@@ -59,7 +60,7 @@
59
60
  computed: {
60
61
  // 下記がthis.storeNameではなく、直接 storeA と書くとうまく行くがpropsの値だとうまくいかない
61
62
  ...mapGetters(this.storeName, [
62
- 'getItem',
63
+ 'getItem', // storeA~Cの中にそれぞれある共通getter
63
64
  ]),
64
65
  btnState: {
65
66
  get() {

3

文章の変更

2021/04/29 00:12

投稿

nutti
nutti

スコア7

title CHANGED
@@ -1,1 +1,1 @@
1
- Vueコンポーネントで、Vuexのストアの情報親から子コンポーネントへ渡したい
1
+ vuexmapGettersやmapActionsで、設定値に変数使用したい
body CHANGED
@@ -2,18 +2,15 @@
2
2
  Vue.js初心者です。不足事項などがありましたら追記いたしますのでお申し付けください。
3
3
  よろしくお願いいたします。
4
4
 
5
- Vueのコンポーネントで、親から呼ばれた子のコンポーネント内で設定値をstoreへ保存したいのですが
5
+ Vueのコンポーネントで、親から呼ばれた子のコンポーネント内で設定値をvuexへ保存したいのですが
6
- その際に、親からの情報を受け取り(props値など)storeの保存先を変更したいです
6
+ その際に、親からのvuexの情報を受け取り、そ情報を元に保存する先を変更したいと考えました
7
7
  やりたい構造が下記の通りです。
8
8
 
9
- 1. 親のコンポーネントで共通のコンポーネントを呼び出します。
9
+ 1. 親のコンポーネントで今回呼び出したい共通部品のコンポーネントを呼び出します。
10
- 2. 呼び出す際に、porpsなどで保存先情報を子コンポーネントへ渡したい
10
+ 2. 呼び出す際に、porpsなどでvuexの保存先情報を子コンポーネントへ渡します
11
- 3. 子のコンポーネン内では、ボタンなどが実装されており、その状態結果を親からもらった情報を保存先を選択したいで
11
+ 3. もらった情報を`...mapGetter`や`...mapActions`の第一引数入れてあげて保存先を選択す
12
12
 
13
- ### 発生している問題・エラーメッセージ
14
- propsで受け取った値を使用したくても`undefined`のエラーがでてうまくいきません。
15
- 発生箇所は下記コードの、`this.storeName`の部分がうまくいきません。
16
- 変数ではな`'storeA'`よう直接書くとうくいきます。
13
+ 子のコンポーネン内(Chidlコンポーネント)では、ボタン(Buttonコンポーネント)どが実装されており状態結果を親からもらった保存先情報を元vuexのモジュール先を選択して保存します。
17
14
 
18
15
  ### 該当のソースコード
19
16
  親コンポーネント
@@ -124,6 +121,13 @@
124
121
  ... storeB ~ Cも同様
125
122
  ```
126
123
 
124
+
125
+ ### 発生している問題・エラーメッセージ
126
+ 色々試して、propsで値を渡し、受け取った値を`...mapGetters`の設定値に使用したくても`undefined`のエラーがでてうまくいきません。
127
+ 発生箇所は下記コードの、`this.storeName`の部分がうまくいきません。
128
+ 変数ではなく、`'storeA'`のように直接書くとうまくいきます。
129
+
130
+
127
131
  # やってみたこと
128
132
  上記のソースのような感じで、
129
133
  `...mapGetters`や、`...mapActions`の第一引数で`props`の値を入れてみたのですがうまく動きませんでした。
@@ -131,8 +135,8 @@
131
135
  うまくいかず、色々調べて`computed`などで値を指定するなど試行錯誤してみたのですが、結果が出なく質問させていただきました。
132
136
 
133
137
  # 聞きたいこと
134
- 1. そもそもこのように保存先を分けてあげることができるのか -> その場合、全部のパターンのコンポーネントをそれぞれ作る必要があるのでしょうか?
138
+ 1. そもそもこのように`...mapGetters`や`...mapActions`のストアのmoduleを選択する引数へ、変数を設定し、保存先を分けてあげることができるのか -> できない場合、全部のパターンのコンポーネントをそれぞれ作る必要があるのでしょうか?
135
- 2. 現状のコードの方向性はあっているのか、間違っているのか。
139
+ 2. 現状のコードの方向性はあっているのか、間違っているのか。(第一引数へ変数をいれて振り分ける)
136
140
  3. 可能である場合、どう言った方法があるのか
137
141
  になります。
138
142
 

2

誤字修正

2021/04/29 00:09

投稿

nutti
nutti

スコア7

title CHANGED
File without changes
body CHANGED
@@ -114,10 +114,10 @@
114
114
  ```
115
115
  importした先のstoreA~Cの構造
116
116
  ```
117
- /store
117
+ storeディレクトリ
118
118
  |- index.js
119
119
  |- storeA
120
- |- index.js
120
+ --|- index.js
121
121
  --|- actions.js
122
122
  --|- getters.js
123
123
  --|- mutations.js

1

誤字脱字の修正とタイトル、タグの修正

2021/04/28 12:47

投稿

nutti
nutti

スコア7

title CHANGED
@@ -1,1 +1,1 @@
1
- Vue.jsのコンポーネントで、props値でstore切り替える方法
1
+ Vueのコンポーネントで、Vuexストア情報親から子コンポーネントへ渡したい
body CHANGED
@@ -3,17 +3,17 @@
3
3
  よろしくお願いいたします。
4
4
 
5
5
  Vueのコンポーネントで、親から呼ばれた子のコンポーネント内で設定値をstoreへ保存したいのですが
6
- その際に、propsの値によってstoreの保存先を変更したいです。
6
+ その際に、親からの情報を受け取り(propsの値など)storeの保存先を変更したいです。
7
7
  やりたい構造が下記の通りです。
8
8
 
9
9
  1. 親のコンポーネントで共通のコンポーネントを呼び出します。
10
- 2. 呼び出す際に、porpsで保存先を選びたいです
10
+ 2. 呼び出す際に、porpsなどで保存先情報子コンポーネントへ渡したい。
11
- 3. 子のコンポーネン内では、ボタンなどが実装されており、その結果を親から指定されたに保存先したいです。
11
+ 3. 子のコンポーネン内では、ボタンなどが実装されており、その状態結果を親からもらっ情報を元保存先を選択したいです。
12
12
 
13
13
  ### 発生している問題・エラーメッセージ
14
14
  propsで受け取った値を使用したくても`undefined`のエラーがでてうまくいきません。
15
- 下記コードの、`this.storeName`の部分がうまくいきません。
15
+ 発生箇所は下記コードの、`this.storeName`の部分がうまくいきません。
16
- 変数ではなく、`storeA`のように直接書くとうまくいきます。
16
+ 変数ではなく、`'storeA'`のように直接書くとうまくいきます。
17
17
 
18
18
  ### 該当のソースコード
19
19
  親コンポーネント
@@ -27,7 +27,7 @@
27
27
  </template>
28
28
  <script>
29
29
  export default {
30
- ...省略
30
+ ...vueの諸々の処理 省略
31
31
  }
32
32
  </script>
33
33
  ```
@@ -126,12 +126,12 @@
126
126
 
127
127
  # やってみたこと
128
128
  上記のソースのような感じで、
129
- `...mapGetters`や、`...mapActions`の第一引数で`prps`の値を入れてみたのですがうまく動きませんでした。
129
+ `...mapGetters`や、`...mapActions`の第一引数で`props`の値を入れてみたのですがうまく動きませんでした。
130
- ボタンと文章という使いまわせるコンポーネントがあり、その設定情報を指定したstoreに保存したいのですが
130
+ 今回のような、ボタンと文章という使いまわせるコンポーネントがあり、その設定情報を指定したstoreに保存したいのですが
131
- うまくいかず、色々試行錯誤してみたのですが、調べても結果が出なく質問させていただきました。
131
+ うまくいかず、色々調べて`computed`などで値を指定するなど試行錯誤してみたのですが、結果が出なく質問させていただきました。
132
132
 
133
133
  # 聞きたいこと
134
- 1. そもそもこのように保存先を分けてあげることができるのか
134
+ 1. そもそもこのように保存先を分けてあげることができるのか -> その場合、全部のパターンのコンポーネントをそれぞれ作る必要があるのでしょうか?
135
135
  2. 現状のコードの方向性はあっているのか、間違っているのか。
136
136
  3. 可能である場合、どう言った方法があるのか
137
137
  になります。