vue中inject获取的值失效

1,269 阅读1分钟

provide中return的值不是响应式的

如果需要获取到动态的值,则把return的属性改为对象object类型

例如:index.vue

provide(){
    return {
        projectId: () => Number(this.$route.query.project_id)
    }
}

child.vue(inject必须放在name或者component后面,否则会有获取不到值的情况)

inject:['projectId'],
created(){
    console.log(this.projectId())
}