为了账号安全,请及时绑定邮箱和手机立即绑定

有大佬遇到过这个问题吗:Vue 中状态管理问题

有大佬遇到过这个问题吗:Vue 中状态管理问题

侃侃无极 2019-06-18 09:53:32
问题:使用Vue简单状态管理Store模式,组件中可以获取到store中的数据,在组件中通过事件改变store中的值,并提交到store后,在store中可以打印出改变后的值,但在组件中通过watch无法监听到最新值的变化store.jsletstore={state:{message:'Hello!'},setMessageAction(newValue){this.state.message=newValueconsole.log('store.js-newValue:',this.state.message);//当组件改变数据后这里是可以获取到改变后的最新值的},}exportdefaultstoremain.js中引入store//简单store模式importstorefrom'./store'Vue.prototype.$store=store组件中使用store{{message}}changeStoreexportdefault{data(){return{message:''}},created(){this.message=this.$store.state.message},watch:{'$store.state.message':function(newVal){//watch无法获取组件改变后的新值console.log(newVal);console.log(this.$store.state.message);}},methods:{change(){this.$store.setMessageAction('changehelloworld')}},}" _ue_custom_node_="true">
查看完整描述

2 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

你的store.js只是个暴露个普通对象,是什么原因让你认为它是响应式的会被watch?你可以把state的数据用Vue.observable来处理一下,应该是可以的,没这么玩过,未实测
                            
查看完整回答
反对 回复 2019-06-18
  • 2 回答
  • 0 关注
  • 388 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信