मैं vuex का उपयोग कर रहा हूं और मैं एक सरणी में एक गेटर को संदर्भित करना चाहता हूं।

भूतपूर्व।

वीयूएक्स स्टोर

export default new Vuex.Store({
   state: () => ({
      projectData: {
           projectHours: null,
      },
   }),

   getters: {
        projectHours: state => {
         return state.projectData.projectHours
       },
   },

})

कोड.व्यू

data: function() {

    return {

      projectInfoLayout: [{
            "data_1": this.projectHours
      }],
    }
}
computed: {
    ...mapGetters([ 'projectHours' ])
},

...

HTML कोड

     <div v-for="item in projectInfoLayout">

       {{item.data_1}} // NOT REACTIVE

       {{projectHours}} // REACTIVE

     </div>

जब मैं गेटटर का उपयोग करता हूं (projectHours mapGetters के साथ) यह काम करता है

जब मैं संदर्भ data_1 का उपयोग करता हूं तो यह प्रतिक्रियाशील नहीं होता है।

कृपया, क्या आपके पास कोई विचार है?

अग्रिम में धन्यवाद

केआर

जियोवानी

0
Masaniello 8 जुलाई 2020, 00:33

1 उत्तर

सबसे बढ़िया उत्तर

आपको स्थिर सरणी के बजाय एक गणना की गई संपत्ति का उपयोग करना चाहिए - जब घटक बनाया जाता है तो स्थिर डेटा प्रारंभ होता है और बाद में Vue द्वारा स्वचालित रूप से संशोधित नहीं किया जाता है:

computed: {
    ...mapGetters([ 'projectHours' ]),
    projectInfoLayout()
    {
      return [
        data_1: this.projectHours,
      ];
    }
},
1
IVO GELOV 8 जुलाई 2020, 12:50