2017-01-06 12 views
9

vuexstore के गेटर में पैरामीटर पास करने का कोई तरीका है? कुछ की तरह:तर्क के साथ vuexjs गेटर

new Vuex.Store({ 
    getters: { 
    someMethod(arg){ 
     // return data from store with query on args 
    } 
    } 
}) 

ताकि घटक में मैं इस्तेमाल कर सकते हैं

<template> 
    <div> 
     <p>{{someMethod(this.id)}}</p> 
    </div> 
</template> 
<script lang="ts"> 
    import { mapGetters } from "vuex" 

    export default { 
     props: ['id'], 
     computed: mapGetters(['someMethod']) 
     } 
    } 
</script> 

लेकिन vuex पहला तर्क में state है और दूसरा अन्य getters है। क्या यह संभव है?

उत्तर

9

एक तरह से यह करने के लिए किया जा सकता है:

new Vuex.Store({ 
    getters: { 
    someMethod(state){ 
     var self = this; 
     return function (args) { 
      // return data from store with query on args and self as this 
     };  
    } 
    } 
}) 

हालांकि, गेटर तर्क नहीं ले करता है और यही कारण है से समझाया गया है इस thread:

नामकरण परंपरा थोड़ा भ्रामक है, टिककर खेल राज्य इंगित करता है किसी भी रूप में पुनर्प्राप्त किया जा सकता है, लेकिन वास्तव में वे reducers हैं।

शायद हमारे पास शुद्ध तरीके होने के कारण reducers होना चाहिए। जिसे फ़िल्टरिंग, ect mapping के लिए उपयोग किया जा सकता है।

गेटर्स को तब कोई संदर्भ दिया जा सकता है। गणना के समान, लेकिन अब आप vuex विकल्प में गेटर्स को गणना वाले प्रोप को जोड़ सकते हैं। जो घटकों की संरचना में मदद करता है।

संबंधित मुद्दे