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

質問編集履歴

4

画像の添付

2020/10/18 01:46

投稿

wattyo
wattyo

スコア10

title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,7 @@
5
5
  エラーは出ないのですが、Form.vueにある`<v-text-field label="追加するタスク" placeholder="タスクを入力してください" v-model="title"></v-text-field>`に入力したものが、List.vueにある、 `<td>{{ todo.title }}</td>`に反映されません。
6
6
 
7
7
  ### 発生している問題・エラーメッセージ
8
+ ![![vue.develoopertool](1c2f4517527471c3039aec831a425f3e.png)](7485802e54d27cd6d3650e7a38916cc4.png)
8
9
 
9
10
  ```
10
11
  todoを入力したものが、ブラウザに表示されません。

3

gettersメソッドを追加

2020/10/18 01:46

投稿

wattyo
wattyo

スコア10

title CHANGED
File without changes
body CHANGED
@@ -14,23 +14,28 @@
14
14
  store/todos.js
15
15
 
16
16
  ```js
17
+
17
18
  export const state = () => ({
18
19
  todos: [],
19
- title: ""
20
+ title: '',
20
21
  })
21
22
 
22
23
  export const mutations = {
23
24
  addTodo: function(state, title) {
24
- if (!state.title.length) {
25
- return;
26
- }
27
25
  state.todos.push({
28
26
  title: title,
29
27
  });
30
28
  console.log(title)
31
- state.title = "";
32
29
  }
33
30
  }
31
+
32
+ export const getters = {
33
+ title: function(state) {
34
+ return state.title
35
+ }
36
+ }
37
+
38
+
34
39
  ```
35
40
  components/Form.vue
36
41
  ```vue
@@ -87,9 +92,9 @@
87
92
  </tr>
88
93
  </thead>
89
94
  <tbody>
90
- <tr v-for="todo in todos" v-bind:key="todo.id">
95
+ <tr v-for="(todo, index) in todos" v-bind:key="todo.id">
91
96
  <td>{{ todo.id }}</td>
92
- <td>{{ todo.title }}</td>
97
+ <td>{{ title }}</td>
93
98
  <td>{{ todo.deadline }}</td>
94
99
  <td ><v-icon>mdi-delete</v-icon></td>
95
100
  <td>
@@ -102,15 +107,16 @@
102
107
  </template>
103
108
 
104
109
  <script>
105
- import {mapState} from 'vuex';
110
+ import {mapGetters} from 'vuex';
106
111
  export default {
112
+ computed: {
113
+ todos() {
114
+ return this.$store.state.todos
115
+ },
107
- data() {
116
+ title() {
108
- return {
109
- title: ""
117
+ return this.$store.getters.title
110
118
  }
111
119
  },
112
- computed:
113
- mapState(['todos'])
114
120
  }
115
121
  </script>
116
122
  ```

2

LIst.vueにmapStateを追加

2020/10/17 13:46

投稿

wattyo
wattyo

スコア10

title CHANGED
File without changes
body CHANGED
@@ -86,29 +86,31 @@
86
86
  <th>期限</th>
87
87
  </tr>
88
88
  </thead>
89
- <transition-group tag="tbody">
89
+ <tbody>
90
- <tr v-for="(todo, index) in todos" v-bind:key="todo.id">
90
+ <tr v-for="todo in todos" v-bind:key="todo.id">
91
91
  <td>{{ todo.id }}</td>
92
92
  <td>{{ todo.title }}</td>
93
93
  <td>{{ todo.deadline }}</td>
94
- <td @click="removeTask"><v-icon>mdi-delete</v-icon></td>
94
+ <td ><v-icon>mdi-delete</v-icon></td>
95
- <td @click="editTask(index)">
95
+ <td>
96
96
  <v-icon>mdi-account-edit</v-icon>
97
97
  </td>
98
98
  </tr>
99
- </transition-group>
99
+ </tbody>
100
100
  </v-simple-table>
101
101
  </v-row>
102
102
  </template>
103
103
 
104
104
  <script>
105
+ import {mapState} from 'vuex';
105
106
  export default {
106
107
  data() {
107
108
  return {
108
- todos: [],
109
109
  title: ""
110
110
  }
111
111
  },
112
+ computed:
113
+ mapState(['todos'])
112
114
  }
113
115
  </script>
114
116
  ```

1

前提のところ情報を足しました。

2020/10/17 06:10

投稿

wattyo
wattyo

スコア10

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,13 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  nuxt.jsを使ってtodoアプリを作っています。
4
- エラーは出ないのですが、打った内容が反映されません。
5
4
 
5
+ エラーは出ないのですが、Form.vueにある`<v-text-field label="追加するタスク" placeholder="タスクを入力してください" v-model="title"></v-text-field>`に入力したものが、List.vueにある、 `<td>{{ todo.title }}</td>`に反映されません。
6
+
6
7
  ### 発生している問題・エラーメッセージ
7
8
 
8
9
  ```
9
- todoで打っ内容反映されない
10
+ todoを入力しもの、ブラウザに表示されません。
10
11
  ```
11
12
 
12
13
  ### 該当のソースコード