1.父传子对象,用watch并不好使
在子组件中监听你要的数据,但是监听对象亲测并不好使。
2.用v-if实现手动实时更新
父组件:
html&data:
<Invoice :oneData="oneData" v-if="show" />
data:{
someShow: false,
oneData:{},
}
js:
//写在父组件的methods
refesh: function() {
this.Show = false;
var _this = this;
this.$nextTick(function() {
_this.Show = true;
});
},
//请求数据更新传子的数据
showRowDetail(data) {
let params = {
saleId: data.id
};
getWaterDetail(params).then(res => {
if (res.rtnCode == 200) {
this.oneData = res.data;//传子组件的数据
this.refesh();//手动实时更新传子的数据
}
});
},
// $nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextTick,则可以在回调中获取更新后的 DOM 这样重新渲染就会是最新数据了