为什么在about页面显示不出来h1中的内容呢,h1写固定值就能正常显示
来源:3-9 CompositionAPI 中如何使用 VueX
强妹妹7248924
2021-05-29 17:03:30
<template>
<div class="about">
<h1 @click="changName">This is an about page</h1>
<h1>{{name}}</h1>
</div>
</template>
<script>
import {useStore} from 'vuex';
import {toRefs} from 'vue';
export default {
name: 'About',
setup(){
const store=useStore();
const {name}=toRefs(store.state);
const changName=()=>{
// 改变store中的数据第一步,使用store调用dispatch,传递active到store中的actions;第一个参数是指令名字。第二个参数是需要修改的内容
store.dispatch('changName','hallo word');
};
return {name,changName}
}
}
</script>
<template>
<h1>{{name}}</h1>
</template>
<script>
import {useStore} from 'vuex';
import {toRefs} from 'vue';
export default {
name: 'Home',
setup(){
const store=useStore();
const {name}=toRefs(store.state);
return { name }
}
}
</script>
import { createStore } from 'vuex'
export default createStore({
state: {
name:'你好'
},
mutations: {
// 在此处进行数据的修改,此处不能使用异步语句,如果是同步修改,也可以跳过第二步,直接修改。
changName(state,str){
state.name=str
}
},
actions: {
// 接收到传过来的active,调用commit方法,将修改指令再传递给mutations,第一个参数是指令名,第二个参数是需要修改成的内容
changName(store,str){
setTimeout(()=>{
store.commit('changName',str)
},2000)
}
},
modules: {
}
})
1回答
好帮手慕慕子
2021-05-29
同学你好,测试同学粘贴的代码,about页面h1的内容可以正常显示,因为两秒后才修改,所以需要等会儿,才可以看到效果,同学可以再测试下。如下:

祝学习愉快~
相似问题