मेरे पास मेरे vue घटक में यह कोड ब्लॉक है

    <template>
<div class="col-3">
    <div class="card border-0 shadow-sm">
        <div class="card-header indigo bg-white border-0 pb-0">Categories</div>

        <div class="card-body pb-1">
            <ul class="list-unstyled pb-1">
                <li v-for="category in categories" :key="category.name" class="pb-1">
                    <i class="fas fa-angle-right indigo-light"></i>
                    &nbsp;<a class="text-secondary text-decoration-none" v-bind:href="'api/categories/'+category.name">
                        {{ category.name }}
                        </a>
                </li>
            </ul>
        </div>
    </div>
</div>
</template>

<script>
    import {mapGetters} from 'vuex'
    export default {
        mounted() {
            this.$store.dispatch('fetchCategories')
        },
        computed: {
            ...mapGetters([
                'categories'
            ])
        }
    }
</script>

यह मेरे vuex स्टोर से श्रेणियां प्राप्त करता है और यह सब काम कर रहा है। मैं क्या पूछना चाहता हूं कि मैं अपने विचार को बदलने के लिए लार्वा इको का उपयोग कैसे करूं? वर्तमान में जब मैं एपीआई (पोस्टमैन) के माध्यम से एक प्रविष्टि जोड़ता हूं तो प्रविष्टि मेरी तालिका में बनाई जाती है लेकिन दृश्य स्वचालित रूप से अपडेट नहीं होता है। पुशर काम कर रहा है और मैं एपीआई के माध्यम से पोस्ट किए जा रहे डेटा को देख सकता हूं कि राज्य बस नहीं बदलता है और परिणाम अपडेट नहीं होते हैं

कुछ मार्गदर्शन की सराहना की जाएगी। केवल संदर्भ के लिए fetchCategories कोड ब्लॉक इस तरह दिखता है:

     fetchCategories({commit}) {
      axios.get('/api/categories')
          .then(res => {
              {
                  commit('GET_CATEGORIES', res.data.data)
              }
          }).catch(err => {
              console.log(err)
          })
  }

और मेरा उत्परिवर्तन इस तरह दिखता है:

    GET_CATEGORIES(state, categories) {
    state.categories = categories
},
0
RiaanV 2 मार्च 2020, 23:03

2 जवाब

आपकी राज्य वस्तु कैसी दिखती है?

यदि आपके राज्य वस्तु में श्रेणियां नहीं हैं, तो सबसे अधिक संभावना है, इसे जोड़ने के बाद, श्रेणियां प्रतिक्रियाशील नहीं होंगी।

0
dino4udo 3 मार्च 2020, 11:21
राज्य दें = {श्रेणियाँ: [],} डिफ़ॉल्ट स्थिति निर्यात करें
 – 
RiaanV
3 मार्च 2020, 11:43

यहाँ मुद्दा यह है कि State.categories संदर्भ बदल जाते हैं। फिर आपको Vue को सूचित करना होगा कि संदर्भ बदल गया है।

प्रयोग करने का प्रयास करें

Vue.set(state, 'categories', categories )
0
David SK 2 मार्च 2020, 23:40
Vue.set(....) का उपयोग करते समय परिणाम समान होता है। दृश्य पर कोई अद्यतन नहीं है
 – 
RiaanV
3 मार्च 2020, 10:02