Vue大前端

父组件调用子组件方法,报undefined问题

2018-12-11  本文已影响0人  左木北鱼
TypeError: Cannot read property 'open' of undefined
代码
实现效果:点击书本弹出dialog层,v-if=selected控制显示隐藏;
初始化时selected: undefined,dialog层不渲染;
点击触发:点击时,selected=book,dialog层开始渲染的同时调用dialog的子方法,这时dialog层可能还没有初始化完成,所以报undefined错误。
解决方法加延时处理
preview (book) {
  this.selected = book
    setTimeout(() => {
      this.$refs.dialog.open()
    }, 10)
}
上一篇 下一篇

猜你喜欢

热点阅读