現在todoアプリをvuexを用いてで作っております。
その過程で上記エラーがでてしました。
##やりたいことと
inputFormA という部分に値が入ったらその場編集のinputフォームを出したい。
v-if="!editA!という部分でtrue/falseで出現させるボタンを切り替えたい
##コード
Blogs.vue↓
vue
1<template> 2 <div class="blogs-area column is-three-fifths"> 3 <div> 4 <div v-for="blog in allBlogs" :key="blog.id"> 5 <div class="blog-box"> 6 <input v-if="inputFormA === blog" v-model="blog.title" v-focus> 7 <h3 v-else>{{ blog.title }}</h3> 8 <textarea class="textarea" v-if="inputFormA === blog" v-model="blog.description"></textarea> 9 <p v-else>{{ blog.description }}</p> 10 <div class="field is-grouped"> 11 <p class="control" v-if="!editA"> 12 <button class="button is-warning" @click="editBlog(blog)"> 13 Edit 14 </button> 15 <button class="button is-danger" @click="deleteBlog(blog.id)"> 16 Delete 17 </button> 18 </p> 19 <p class="control" v-else> 20 <button class="button is-success" @click="saveEditBlog(blog)"> 21 Save 22 </button> 23 </p> 24 </div> 25 </div> 26 <hr> 27 </div> 28 </div> 29 </div> 30</template> 31 32<script> 33import { mapActions, mapGetters } from 'vuex' 34 35export default { 36 directives: { 37 focus: { 38 inserted(el) { 39 el.focus(); 40 } 41 } 42 }, 43 computed: mapGetters(['allBlogs', 'inputFormA', 'editA']), 44 methods: { 45 ...mapActions(['fetchBlogs', 'deleteBlog', 'saveEditBlog']), 46 editBlog(blog) { 47 this.editA = true; 48 this.inputFormA = blog; 49 } 50 }, 51 created() { 52 this.fetchBlogs() 53 } 54} 55</script>
store.js↓
js
1 2~~ 3 4const state = { 5 blogs: [], 6 inputForm: null, 7 edit: false 8}; 9 10const getters = { 11 allBlogs: state => state.blogs, 12 inputFormA: state => state.inputForm, 13 editA: state => state.edit 14}; 15 16const mutations = { 17 18 ~~ 19 const index = state.blogs.findIndex(i => i.id === blog.id); 20 state.blogs.splice(index, 1, blog); 21 }, 22}; 23 24const actions = { 25 26 ~~ 27 28 async saveEditBlog({ commit }, blog) { 29 await axios.patch(`${baseURL}/${blog.id}`, blog) 30 .then(res => { 31 commit('saveBlog', res) 32 this.inputFormA = null, 33 this.editA = false 34 }) 35 .catch(e => console.log(e)) 36 } 37}; 38 39export default { 40 state, 41 getters, 42 mutations, 43 actions 44};
##問題点
getterの使い方がよくわかっておらず引数を渡せていないのかなと思いました。しかし解決方法がわからず質問させていただく運びとなりました。
足りない情報などありましたら言ってくださるとありがたいです。
ご教授お願いいたします????♂️
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/13 08:09
2020/04/14 08:46