vue 父组件通过ref调用子组件方法 更新数据后,视图不更新
vue 父组件通过ref调用子组件方法 更新数据后,视图部更新
而在子组件mounted(){}里调用统一方法可以更新
vue版本2.5.15
parent.vue
this.$nextTick(() => {
this.$refs.carInfo.getDetail(data)
})
child.vue
data () {
return {
imgUrl: '',
plate_number: '',
car_detail: {
serial_number: '',
plate_type: '',
china_brand: '',
model: '',
car_type: '',
color: '',
use_for: '',
inspection_date: ''
},
car_owner: {
name: '',
identification_number: '',
quasi_drive_type: '',
expire_date: '',
cumulative_score: '',
license_status: ''
},
}
},
methods: {
getetail(){
this.obj = res.content // 这里父组件$refs.name.getDetail()调用时控制台数据改变但是视图没变
}
},
beforeUpdate () {
console.log('before update', this.$data)
},
updated () {
console.log('update', this.$data)
},
mounted(){
// setTimeout(() => { 这里调用可以更新视图
// this.getDetail()
// }, 3000)
}
用Vue.$set(...), 也不起作用
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
这段代码,在什么时候被调用的呢?
obj的属性没有显示的初始化导致的吧如果子组件的obj直接定义的、
你通过调用方法改变obj是不会将obj的属性设置成响应式的,vue检测不到,你应该预先给出需要动态变化的属性
data(){
vue不会检测到 数组或者对象 数据的改变,
文档地址
官方文档
可能是key值的问题,不要使用时间戳,我将父组件的key值改为index就好了
我现在也遇到相同的问题 你现在解决了吗 请教下
你这个解决了吗