Vue2祖孙provide/inject异步传值,孙组件拿不到?

简化代码如下图所示:

image.png

有人说接收不到的原因是,因为异步原因,在孙组件的mounted执行的时候,爷组件中res还未得到值,请问有什么解决办法吗?

阅读 3.1k
1 个回答

provide 和 inject 绑定并不是可响应的,可以试试传入一个对象。

// parent.vue
data () {
    tableData: {
        list: []
    }
},
provide () {
    return {
        tableData: this.tableData
    }
},
methods: {
    getTableData () {
        ...
        tableData.list = data
    }
}

// child.vue
...
inject: ['taleData']
...

<el-table :data="tableData.list">
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题