如图,我想登录后展示用户名,routerview中由login切换到home,username能展示没问题。 但是header组件是公用的,不在routerview中,就无法触发computed函数了,右上角没有值
0 vue devtools必备 1 store怎么注册的? 2 state是否变化
直接把$store.state.account.username绑定到html中 例如
<div class="username">{{$store.state.account.username}}</div>
昨天刚好碰到这个问题
vuexstate更新视图不更新
@178220709 state确实变了,alert出来后是变化的值,就是没触发更新
@LynanBreeze 试了这种方法,还是没更新
还有种可能, store声明的时候,没有定义username,所以这个属性上面没有get set的双向绑定的监听?
推荐在vuex的getter里面定义这样的获取函数,再放在组件里面的computed属性
那是因为vuex里没有深度观察,所以你vuex里的account对象里的值就算更新了也拿不到 正确的解决办法是更改account的内存地址,也就是在最后面state.account = Object.assign({},state.account)就可以了 更改了内存地址,相应的也会触发vuex里的视图更新