
- 发布:2022-04-15 10:57
- 更新:2022-04-18 21:05
- 阅读:692
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 12.3.1
HBuilderX类型: 正式
HBuilderX版本号: 3.3.13
手机系统: 全部
页面类型: nvue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
操作步骤:
提交数据改变
export async function updateMyPlates() {
const [, result] = await getMyPlates();
const ready = result != null;
if (ready) {
store.commit('setMyPlates', result);
};
return ready;
}
获取数据
computed: {
...mapState(['myPlates']),
showAddPlateButton() {
return this.myPlates.length < MAX_PLATE_COUNT;
},
},
渲染数据
<view class="my-plate-item-wrapper" v-for="item in myPlates" :key="item.id">
<view class="my-plate-item">
<text class="my-plate-number">{{item.carNumber}}·{{item.color}}</text>
<view class="my-plate-unbind-icon-extend-click" @click="onRemoveClick(item.carNumber, item.id)">
<image class="my-plate-unbind-icon" src="../../static/close.png" mode="aspectFit"></image>
</view>
</view>
</view>
提交数据改变
export async function updateMyPlates() {
const [, result] = await getMyPlates();
const ready = result != null;
if (ready) {
store.commit('setMyPlates', result);
};
return ready;
}
获取数据
computed: {
...mapState(['myPlates']),
showAddPlateButton() {
return this.myPlates.length < MAX_PLATE_COUNT;
},
},
渲染数据
<view class="my-plate-item-wrapper" v-for="item in myPlates" :key="item.id">
<view class="my-plate-item">
<text class="my-plate-number">{{item.carNumber}}·{{item.color}}</text>
<view class="my-plate-unbind-icon-extend-click" @click="onRemoveClick(item.carNumber, item.id)">
<image class="my-plate-unbind-icon" src="../../static/close.png" mode="aspectFit"></image>
</view>
</view>
</view>
预期结果:
Vuex 中的数据于页面正常同步
Vuex 中的数据于页面正常同步
实际结果:
Vuex 中的数据和页面不同步
Vuex 中的数据和页面不同步
bug描述:
Vuex 数据不同步至页面,而且还没有报错。微信小程序中正常。页面第一次打开时数据能正常获取,再次更新Vuex中的数据就无法获取到最新数据了。



2***@qq.com (作者)
解决了,关闭纯 nvue 关闭 fast .nvue 文件全改成 .vue 文件 vuex 就正常了。 浪费了三天时间,把所有业务有可能抛异常的地方全部wrapper了一下还是没能解决这个问题,最后关掉就好了,虽然慢了些,但是还能接受。css属性也支持得更多了,人也轻松了。