這次帶給大家Vue多層組件provide/inject使用詳解,Vue多層組件provide/inject使用的注意事項有哪些,下面就是實戰案例,一起來看一下。
provide / inject 是 2.2 新增的方法,可以以一個祖先元件向所有子孫後代注入依賴(一個內容)。
provider/inject:簡單的來說就是在父元件中透過provider來提供變數,然後在子元件中透過inject來注入變數。
Vue 官方警告:
provide 和 inject 主要為高階外掛程式/元件庫提供用例。並不建議直接用於應用程式程式碼。
當然,警告只是警告,你完全可以正常使用。
使用方法非常像data 和props 的組合大禮包:
var Provider = { provide: { foo: 'bar' }, // ... } var Child = { inject: ['foo'], created () { console.log(this.foo) // => "bar" } // ... }
唯一的區別是你不用再一層層的傳入了,過去用的event-bus 雖然可以解決深層問題,但是會導致整個event-emit 組成過於混亂,難以維護。使用 provide / inject 可以保證父子單向資料流的清晰性。
在React 中Context 的Provider / Consumer 也有相同的效果,由於還沒有具體使用過,對React 本身也只有一面之緣,留待以後在了解,感興趣的同學可以閱讀文件了解。
參考文章:
Vue 官方文件
Provide/Inject in Vue 2.2
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是Vue多層組件provide/inject使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!