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

質問編集履歴

7

追記

2019/09/25 11:26

投稿

RubtMDqy2op3pZh
RubtMDqy2op3pZh

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,11 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
+ BookInfoコンポーネントのonclickメソッド実行する時のエラーを解決したい
4
+
5
+
3
6
  下記エラーが発生している原因を知りたいです。
4
7
  BookInfoコンポーネントのonclickメソッド実行時に下記エラーが発生してしまいます。
5
- どなたか解決方法分かるかた見えましたらご教授頂きたく思います。
8
+ どなたか解決方法分かる見えましたらご教授頂きたく思います。
6
9
 
7
10
  そのた必要な情報あれば、コメント頂ければと思います。
8
11
 

6

誤記

2019/09/25 11:26

投稿

RubtMDqy2op3pZh
RubtMDqy2op3pZh

スコア8

title CHANGED
File without changes
body CHANGED
@@ -49,7 +49,7 @@
49
49
  })
50
50
  ```
51
51
 
52
- ##book.js
52
+ ##main.js
53
53
  ```
54
54
  import Vue from 'vue/dist/vue.esm.js'
55
55
  // import Vue from 'vue'

5

簡略化

2019/09/25 10:32

投稿

RubtMDqy2op3pZh
RubtMDqy2op3pZh

スコア8

title CHANGED
@@ -1,1 +1,1 @@
1
- Vue.js x Rails からアクションを引っ張れない Cannot read property 'dispatch' of undefined"
1
+ Vue.js x Rails コンポーネントからアクションを参照出来ない Cannot read property 'dispatch' of undefined"
body CHANGED
File without changes

4

タイトル 変更

2019/09/25 10:02

投稿

RubtMDqy2op3pZh
RubtMDqy2op3pZh

スコア8

title CHANGED
@@ -1,1 +1,1 @@
1
- Vue.js x Rails ストアからアクションを引っ張れない
1
+ Vue.js x Rails ストアからアクションを引っ張れない Cannot read property 'dispatch' of undefined"
body CHANGED
File without changes

3

簡略化

2019/09/25 09:59

投稿

RubtMDqy2op3pZh
RubtMDqy2op3pZh

スコア8

title CHANGED
File without changes
body CHANGED
@@ -23,34 +23,15 @@
23
23
  import Vue from 'vue'
24
24
  import Vuex from 'vuex'
25
25
  import createPersistedState from 'vuex-persistedstate'
26
- import { UPDATE_CURRENT, UPDATE_BOOK } from './mutation-types'
26
+ import { UPDATE_CURRENT} from './mutation-types'
27
27
 
28
28
  Vue.use(Vuex)
29
29
 
30
30
  export default new Vuex.Store({
31
- strict: true, //厳密性 本番環境では、消しておく
32
31
  state: {
33
- books:[], //レビューと書籍の情報を格納する
34
32
  current: null
35
33
  },
36
34
  getters:{
37
- bookCount(state){
38
- return state.books.length
39
- },
40
- allBooks(state){
41
- return state.books
42
- },
43
- getRangeByPage(state){ //指定されたページのレビュー情報を引数ページ番号で返すメソッドを返すメソッド
44
- return page =>{
45
- const SIZE = 3
46
- return state.books.slice((page -1)) * SIZE, (page -1) * SIZE + SIZE
47
- }
48
- },
49
- getBookById(state){ //引数idでそのidのレビューを返すメソッドを返すメソッド
50
- return id =>{
51
- return state.books.find(book => book.id === id)
52
- }
53
- },
54
35
  current(state){ //現在編集中の書籍
55
36
  return state.current
56
37
  }
@@ -59,27 +40,12 @@
59
40
  [UPDATE_CURRENT](state, payload){ //編集中の書籍(current)を更新
60
41
  state.current = payload
61
42
  },
62
- [UPDATE_BOOK](state, payload){ //レビュー情報を更新
63
- let book = this.getters.getBookById(payload.id) //id値(payload)で既存のレビュー検索
64
- if (book) {
65
- Object.assign(book, payload) //既存のレビュー情報がある場合は、payloadで上書き
66
- } else {
67
- state.books.push(payload) //ない場合は、新規としてbooksステートに追加
68
- }
69
- },
70
43
  },
71
44
  actions:{
72
45
  [UPDATE_CURRENT]({ commit }, payload){
73
46
  commit(UPDATE_CURRENT,payload)
74
47
  },
75
- [UPDATE_BOOK]({ commit }, payload){
76
- commit(UPDATE_BOOK,payload)
77
- },
78
48
  },
79
- plugins: [createPersistedState({ //ストレージ保存のためのプラグイン有効化
80
- key: 'reading-recoder',
81
- storage: localStorage
82
- })]
83
49
  })
84
50
  ```
85
51
 
@@ -124,9 +90,7 @@
124
90
  </template>
125
91
 
126
92
  <script>
127
- // import { mapActions } from 'vuex'
93
+ import { mapActions } from 'vuex'
128
- import {mapGetters, mapActions} from 'vuex/dist/vuex.esm.js'
129
- // import { UPDATE_CURRENT } from '@/mutation-types'
130
94
  import { UPDATE_CURRENT } from './mutation-types'
131
95
 
132
96
  export default {

2

追記

2019/09/25 09:48

投稿

RubtMDqy2op3pZh
RubtMDqy2op3pZh

スコア8

title CHANGED
File without changes
body CHANGED
@@ -8,6 +8,9 @@
8
8
 
9
9
 
10
10
  ### 発生している問題・エラーメッセージ
11
+ ```
12
+ Error in v-on handler: "TypeError: Cannot read property 'dispatch' of undefined"
13
+ ```
11
14
 
12
15
  ```
13
16
  TypeError: Cannot read property 'dispatch' of undefined

1

誤字

2019/09/25 08:30

投稿

RubtMDqy2op3pZh
RubtMDqy2op3pZh

スコア8

title CHANGED
File without changes
body CHANGED
@@ -28,13 +28,13 @@
28
28
  strict: true, //厳密性 本番環境では、消しておく
29
29
  state: {
30
30
  books:[], //レビューと書籍の情報を格納する
31
- current: null //なにに使うか今の所、不明
31
+ current: null
32
32
  },
33
- getters:{ //ステートの内容を加工・取得
33
+ getters:{
34
- bookCount(state){ //登録済みのレビュー数返すメソッド
34
+ bookCount(state){
35
- return state.books.length //ステートのbooks配列の長さ
35
+ return state.books.length
36
36
  },
37
- allBooks(state){ //レヴューと書籍の情報返すメソッド
37
+ allBooks(state){
38
38
  return state.books
39
39
  },
40
40
  getRangeByPage(state){ //指定されたページのレビュー情報を引数ページ番号で返すメソッドを返すメソッド