在watch中使用this要注意,不能用箭头函数,否则会出错,例如:

<template>
</template>

<script>
	export default{
		data(){
			return {
				isLogin: false
			}
		},
		watch:{
			isLogin: (newVal, oldVal) => {
				newVal && this.updateLogin()
			}
		},
		methods:{
			updateLogin(){
				console.log(`update login`)
			}
		}
	}
</script>

<style scoped>
</style>

箭头函数要改为function的形式,如下:

<template>
</template>

<script>
	export default{
		data(){
			return {
				isLogin: false
			}
		},
		watch:{
			isLogin: function(newVal, oldVal) {
				newVal && this.updateLogin()
			}
		},
		methods:{
			updateLogin(){
				console.log(`update login`)
			}
		}
	}
</script>

<style scoped>
</style>

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐