Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
233 views
in Technique[技术] by (71.8m points)

vue provide inject,子组件怎么知道有没有被provide

在 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?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

inject可以给一个default


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...