<div>
<event-log :eventtag-id="id" event-name="sanbi"></event-log>
</div>
mpvue里有一个这样的自定义组件event-log,在页面引用的时候第一次eventtag-id传1进去,
第二次在同一个页面再调用一次传递eventtag-id = 2进去此时组件内接收的还是1,组件内接收代码如下。
props: {
eventtagId:{
type:String,
default:''
},
eventName:{
type:String,
default:''
},
},
这样就会有一个延迟,当次打开的页面数据是上一次的数据
解决方案。用watch监听触发函数
watch: {
eventName: {
handler(newValue) {
if (newValue) {
this.eventName = newValue
this.getEventLog() // 触发函数
}
},
deep: true,
immediate: true
},
eventtagId: {
handler(newValue) {
if (newValue) {
this.eventtagId = newValue
this.getEventLog() // 触发函数
}
},
deep: true,
immediate: true
}
},