思路就是利用vue的watch侦听器:
在网络请求完成后,改变watch监听的值,让其触发后续操作。
下面是示例代码:


export default {
	data(){
		return {
			isInit: 0 //自定义变量,用于触发网络请求后的操作
		}
	},
	watch: {
		// 监听自定义变量,当值变为1时(网络请求完毕后),执行后续操作。
		// 其中形参newVal代表变量isInit改变后的值,oldVal代表变量isInit改变前的值
		isInit: function(newVal, oldVal) {
			if(newVal == 1) {
				// 网络请求完成后的操作方法
				this.afterInit()
			}
		}
	},
	
	onShow() {
		// 执行的网络请求方法
		this.init()
	},
	methods: {
		init() {
			// 这里进行网络请求
			....
			// 请求完成后将自定义变量isInit改为1,此时会触发侦听器watch中的isInit方法
			this.isInit = 1
		},
		afterInit() {
			// 这里是等待网络请求结束后再执行后续代码内容
		}
	}
}
Logo

前往低代码交流专区

更多推荐