1.当页面数据被修改时,视图却未重新渲染时可用this.$forceUpdate()强制渲染页面
2.当页面调用了组件时,组件数据为页面传入。页面数据改变,组件的数据不随之改变时,给组件加上key值,每次更新时,改变key值。这类问题我是在for循环中调用组件遇到的问题

<template>
	<view v-for="(item, index) in list" :key="iindex">
		<componentName :data="item" :key="componentKey"></componentName>
	</view>
</template>
<script>
	export default {
		data() {
			return {
				list: "",
				componentKey: 1
			}
		},
		onLoad() {
			this.getData();
		},
		methods: {
			getData() {
				var _this = this
				uni.request({
				    url: 'http://www.domain.com/api/request',
				    success: (res) => {
				    	_this.list = res.data;
				    	++_this.componentKey;
				    }
				});
			}
			//每次更新list后只需改变componentKey,eg:++componentKey
		}
	}
</script>
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐