開(kāi)心每一天1111
2023-12-14 15:41:54
我正在嘗試學(xué)習(xí) vuex,但我認(rèn)為我缺少一些基本的理解。請(qǐng)任何建議。我從一個(gè)組件將可縮放地圖的比例值發(fā)送到 vuex 存儲(chǔ)。商店.jsexport default new Vuex.Store({ state: { scale:"" }, getters:{ MJERILO: state => { return state.scale } }, mutations:{ STORESCALE: (state, payload) => { state.scale = payload } }, actions:{ RECEIVECURRENTSCALE: (context, payload) => { context.commit("STORESCALE", payload); } } })這部分工作得很好,因?yàn)樵?vue 開(kāi)發(fā)工具中,當(dāng)我用鼠標(biāo)放大/縮小時(shí),我可以看到比例數(shù)字在突變、狀態(tài)和吸氣劑中發(fā)生變化。(做,突變會(huì)自動(dòng)改變,對(duì)于狀態(tài)和吸氣劑,我需要按加載狀態(tài)。我想這個(gè)工作是這樣的)所以問(wèn)題可能在于我如何嘗試將數(shù)據(jù)從 vuex 狀態(tài)接收到其他組件中。我試過(guò):地圖1.vuemounted(){ var scale = this.$store.getters.MJERILO}但我只是獲取存儲(chǔ)在狀態(tài)屬性 mjerilo 中的值(在本例中為空)。我需要發(fā)送給各州的動(dòng)態(tài)。對(duì)于靜態(tài)數(shù)據(jù),這非常有效(我嘗試使用簡(jiǎn)單數(shù)組)。我也嘗試重試計(jì)算中的數(shù)據(jù),但我遇到了類似的問(wèn)題。在這種情況下,在安裝中我只得到第一個(gè)比例值computed: { mjerilo(){ return this.$store.getters.MJERILO }}mounted(){ var scale = this.mjerilo}我很迷失。從閱讀中我了解到,每當(dāng)我用鼠標(biāo)滾動(dòng)地圖時(shí),我都會(huì)將數(shù)據(jù)發(fā)送到“注冊(cè)”操作,而不是通過(guò)突變將這些數(shù)據(jù)存儲(chǔ)在狀態(tài)中。從狀態(tài)我可以在我的應(yīng)用程序的任何其他 vue 組件中獲取最后更新的數(shù)據(jù)(在本例中為比例)?更新:我正在添加 Map1.vue 組件<template> <svg-map name="Zupanije" ></svg-map> </template><script>import * as d3 from 'd3'import SvgMap from "./SvgMap"export default { name: "Map1", components: { "svg-map":SvgMap }, mounted(){ ......lots of javascrip code . . var scale = this.$store.getters.MJERILO }}</script>
2 回答

胡子哥哥
TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
我相信您正在尋找類似的功能watch
data: {
scale: this.$state.scale
},
watch: {
'$store.state.scale': (newVal) => {
this.scale = newVal;
}
}

胡說(shuō)叔叔
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
我不確定出了什么問(wèn)題,但你可以嘗試一下,然后會(huì)發(fā)生什么?你如何調(diào)度你的行動(dòng)?
<template>
<div>
{{ MJERILO }}
</div>
</template>
import { mapGetters, mapActions } from "vuex";
export default {
...mapGetters(["MJERILO"]),
}
添加回答
舉報(bào)
0/150
提交
取消