首页 新闻 会员 周边

vue中v-if无法响应式处理视图更新(uni-app使用)

0
悬赏园豆:100 [待解决问题]

<template> <view>
<view>{{$store.state.type}}</view> //动态显示type值
<button @click="add1">
</view></template>
<script>.........
methods:{ add1(){this.$store.state.type ++;console.log(this.$store.state.type}}
... //改变type值,并打印
</script>

//在store文件state中已经注册type
state:{type:0}

这时候点击按钮无法更新视图,console打印的是在变化的。
1.相同的,(我在uniapp中应用)在main.js中注册的全局变量也无法生效。
2.使用vue.set的方法在data中注册对象内的值,也无法生效。
3.在页面or组件中将这个全局变量赋值给data(computed也试了)中的新变量,这时全局变量更新,但是这个新变量不会更新。(这里我能知道,大概就是一次性赋值了,不是响应式)

找了很多办法,能理解大概是全局变量在页面或组件应用时没有形成响应式状态,但不知如何解决。

然后在前一分钟试出了一个方法,在页面data中自行注册的变量,加入到其中的方法使其强行更新。↓
data(){return{a:0}}//页面data中注册一个新变量
{{$store.state.type,a}}//在{{}}中type的后面跟上这个a
methods....this.a ++ ; //每次改变type值时同时改变这个data中的a
此时的动态更新就成功了。

如何解决以上的几个点(1,2,3),以及为何会出些这些情况?
希望有好心大哥帮帮忙,算是第一个馋了很久的问题了。拜托~

ChrisKyser的主页 ChrisKyser | 初学一级 | 园豆:102
提问于:2020-02-13 17:27
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册