props传值给子组件的时候,有时候子组件接受不到变化,

因为父组件传给子组件的数据是通过子组件的mounted阶段进行的处理,才能通过data渲染到页面上,从而更新。

但是数据发生变化的时候,mounted阶段已经过了,所以data捕获不到数据的更新,从而无法更新

解决办法就是加监听

//父组件传值
<button @click="clickFn">测试传值</button>
<vue-page :test="version"  />

clickFn(){
	this.version='888';
}



//子组件接收

props: {
	'test':{
	    type:String,
	    default:'默认'
	}
},
//保证初次传的值给到
mounted() {
	this.testv = this.test
},
watch:{
	test(newval,oldval){
		this.testv = newval
	}
}

Logo

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

更多推荐