在 Vue 组件中,假设父组件 <Parent1>,某一代的子组件 <ChildN>
正常来说,Parent1 通过 provide 提供了一个方法或变量 a 给了 ChildN,使得它可以直接访问到。
/* Parent1 */
provide() { a: this.a }
data() { return { a: 1 } }
/* ChildN */
inject: ['a']
但如果这个 ChildN 是一个可复用组件,它被其他的父组件 Parent2 所引用,但是 Parent2 并没有 provide a 给 ChildN,这会导致 ChildN 报错:
[Vue warn]: Injection "a" not found
请问 Parent2 在不 provide 的情况下,ChildN 如何处理才不会报错呢?或者 ChildN 怎么知道有没有被 provide?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…