回答編集履歴

3

追記

2018/11/17 16:59

投稿

NozomuIkuta
NozomuIkuta

スコア1260

test CHANGED
@@ -117,3 +117,43 @@
117
117
  }
118
118
 
119
119
  ```
120
+
121
+
122
+
123
+ ## 追記(2018/11/18)
124
+
125
+
126
+
127
+ 以下の「...mapState({ ... })」の部分は、スプレッド構文です。
128
+
129
+ コード省略に「...」と書いていたので紛らわしかったかもしれません。すみません。
130
+
131
+
132
+
133
+ ```
134
+
135
+ // 省略
136
+
137
+ computed: {
138
+
139
+ ...mapState(/* 省略 */)
140
+
141
+ }
142
+
143
+ // 省略
144
+
145
+ ```
146
+
147
+
148
+
149
+ `...mapState()`は`mapState()`の結果(オブジェクト)を`computed`(オブジェクト)に展開します。
150
+
151
+
152
+
153
+ 詳細は以下の参考資料を見てください。
154
+
155
+ [MDN公式](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Spread_syntax)
156
+
157
+ [Qiitaの記事1](https://qiita.com/Nossa/items/e6f503cbb95c8e6967f8)
158
+
159
+ [Qiitaの記事2](https://qiita.com/akisx/items/682a4283c13fe336c547)

2

脱字修正

2018/11/17 16:59

投稿

NozomuIkuta
NozomuIkuta

スコア1260

test CHANGED
@@ -114,4 +114,6 @@
114
114
 
115
115
  })
116
116
 
117
+ }
118
+
117
119
  ```

1

内容修正・追記

2018/11/16 15:40

投稿

NozomuIkuta
NozomuIkuta

スコア1260

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- あとは、`ドメイン/pages/mypage/1`や`ドメイン/pages/mypage/2`など実際のIDをつけてアクセスするだけです。
15
+ あとは、`ドメイン/mypage/1`や`ドメイン/mypage/2`など実際のIDをつけてアクセスするだけです。
16
16
 
17
17
 
18
18
 
@@ -31,3 +31,87 @@
31
31
 
32
32
 
33
33
  ご自身でURLを記載されていますが、ドキュメントで言えば該当箇所は[ここ](https://ja.nuxtjs.org/guide/routing/#%E5%8B%95%E7%9A%84%E3%81%AA%E3%83%AB%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0)です。
34
+
35
+
36
+
37
+ ## 追記(2018/11/17)
38
+
39
+ `<nuxt-link>`に動的にリンク先を設定する場合は、以下のような方法でできます。
40
+
41
+
42
+
43
+ ```Vue
44
+
45
+ <template>
46
+
47
+ <nuxt-link :to="mypageUrl">マイページ</nuxt-link>
48
+
49
+ </template>
50
+
51
+
52
+
53
+ <script>
54
+
55
+ import { mapState } from 'vuex'
56
+
57
+
58
+
59
+ export default {
60
+
61
+ name: 'sampleComponent',
62
+
63
+ computed: {
64
+
65
+ ...mapState({
66
+
67
+ mypageUrl: (state) => `/mypage/${state.userId}`
68
+
69
+ })
70
+
71
+ }
72
+
73
+ }
74
+
75
+ </script>
76
+
77
+ ```
78
+
79
+
80
+
81
+ `/store/index.js`は以下のようにします。
82
+
83
+ (Firebaseの認証については省略しています。あくまで動的リンクの設定に注目しています)
84
+
85
+
86
+
87
+ ```JavaScript
88
+
89
+ import Vuex from 'vuex'
90
+
91
+
92
+
93
+ const createStore = () => {
94
+
95
+ return new Vuex.Store({
96
+
97
+ state: {
98
+
99
+ userId: '' // 初期値
100
+
101
+ },
102
+
103
+ mutations: {
104
+
105
+ setUserId(...) { ... }
106
+
107
+ },
108
+
109
+ actions: {
110
+
111
+ setUserId(...) { ... }
112
+
113
+ }
114
+
115
+ })
116
+
117
+ ```