質問編集履歴

2

挨拶の追加

2021/09/18 13:02

投稿

IRIESS
IRIESS

スコア45

test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,12 @@
16
16
 
17
17
 
18
18
 
19
+ ご教授の程よろしくお願いいたします。
20
+
21
+ 情報の不備がありましたらご教示ください。
22
+
23
+
24
+
19
25
  ### 発生している問題・エラーメッセージ
20
26
 
21
27
 

1

情報の追加

2021/09/18 13:02

投稿

IRIESS
IRIESS

スコア45

test CHANGED
File without changes
test CHANGED
@@ -12,6 +12,10 @@
12
12
 
13
13
 
14
14
 
15
+ 素のvueからNuxtへ移行したのですが、vueの時はstateの更新はされませんでした。
16
+
17
+
18
+
15
19
  ### 発生している問題・エラーメッセージ
16
20
 
17
21
 
@@ -32,11 +36,215 @@
32
36
 
33
37
 
34
38
 
35
- ```ここに言語名を入力
39
+ ```javascript
40
+
36
-
41
+ //edit.vue
42
+
43
+ <template>
44
+
45
+ <v-form
46
+
47
+ ref="form"
48
+
49
+ v-model="valid"
50
+
51
+ lazy-validation
52
+
53
+ >
54
+
55
+ <v-text-field
56
+
57
+ v-model="myInfo.name"
58
+
59
+ :counter="10"
60
+
61
+ :rules="nameRules"
62
+
63
+ label="名前(フルネーム)"
64
+
37
- ソースコード
65
+ required
66
+
38
-
67
+ ></v-text-field>
68
+
69
+
70
+
71
+ <v-btn
72
+
73
+ color="success"
74
+
75
+ @click="editUser"
76
+
77
+ >
78
+
79
+ 登録する
80
+
81
+ </v-btn>
82
+
83
+ </v-form>
84
+
85
+ </template>
86
+
87
+
88
+
89
+ <script>
90
+
91
+ import axios from 'axios'
92
+
93
+ export default {
94
+
95
+
96
+
97
+ data: () => ({
98
+
99
+ myInfo: {
100
+
101
+
102
+
103
+ },
104
+
105
+ authInfo: {
106
+
107
+ // uid: '',
108
+
109
+ // accessToken: '',
110
+
111
+ // client: ''
112
+
113
+ },
114
+
115
+ }),
116
+
117
+
118
+
119
+ mounted() {
120
+
121
+ this.authInfo = this.$store.getters['myInfo/getAuthInfo']
122
+
123
+ this.myInfo = this.$store.getters['myInfo/getMyInfo']
124
+
125
+ },
126
+
127
+
128
+
129
+ methods: {
130
+
131
+ editUser() {
132
+
133
+ axios.put('http://localhost:3000/api/user', this.myInfo, {
134
+
135
+ headers: {
136
+
137
+ 'Content-Type': 'application/json',
138
+
139
+ uid: this.authInfo.uid,
140
+
141
+ 'access-token': this.authInfo.accessToken,
142
+
143
+ client: this.authInfo.client,
144
+
145
+ }})
146
+
147
+ .then((response) => {
148
+
149
+ this.$store.dispatch('myInfo/saveMyInfoAsUser', response.data.data)
150
+
151
+ })
152
+
153
+ .catch((error) => {
154
+
155
+ console.log('登録失敗', error)
156
+
157
+ })
158
+
159
+ }
160
+
161
+ },
162
+
163
+ }
164
+
165
+ </script>
166
+
39
- ```
167
+ ```
168
+
169
+
170
+
171
+ ```javascript
172
+
173
+ // myInfo.js
174
+
175
+
176
+
177
+ export const state = () => ({
178
+
179
+ myInfo: [],
180
+
181
+ authInfo: [],
182
+
183
+ })
184
+
185
+
186
+
187
+ export const mutations = {
188
+
189
+ saveMyInfoAsUser(state, myInfo) {
190
+
191
+ state.myInfo = myInfo
192
+
193
+ },
194
+
195
+ saveAuthInfo(state, authInfo) {
196
+
197
+ state.authInfo = authInfo
198
+
199
+ }
200
+
201
+ }
202
+
203
+
204
+
205
+ export const actions = {
206
+
207
+ saveMyInfoAsUser(context, myInfo) {
208
+
209
+ context.commit('saveMyInfoAsUser', myInfo)
210
+
211
+ }
212
+
213
+ ,
214
+
215
+ saveAuthInfo(context, authInfo) {
216
+
217
+ context.commit('saveAuthInfo', authInfo)
218
+
219
+ }
220
+
221
+ }
222
+
223
+
224
+
225
+ export const getters = {
226
+
227
+ getAuthInfo(state) {
228
+
229
+ return state.authInfo
230
+
231
+ },
232
+
233
+ getMyInfo(state) {
234
+
235
+ return state.myInfo
236
+
237
+ }
238
+
239
+ }
240
+
241
+
242
+
243
+
244
+
245
+ ```
246
+
247
+
40
248
 
41
249
 
42
250
 
@@ -44,12 +252,4 @@
44
252
 
45
253
 
46
254
 
47
- ここ問題に対したことを記載してください。
255
+ 厳格モードするとエラーは消えるみたいですが、stateの値は更新されてします
48
-
49
-
50
-
51
- ### 補足情報(FW/ツールのバージョンなど)
52
-
53
-
54
-
55
- ここにより詳細な情報を記載してください。