亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue中依賴注入的示例分析

發布時間:2021-07-27 14:32:40 來源:億速云 閱讀:136 作者:小新 欄目:web開發

這篇文章主要介紹了Vue中依賴注入的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

簡單粗暴型:

<el-select v-model="favourite" :option="[]"></el-select>

option作為數據進來就ok啦。

然后發現下列問題:

  • key-value,不是所有的接口都是id-name

  • option要disabled 怎么辦?

  • option存在幾種情況怎么辦?

  • ...

回頭看看原生的寫法是這樣:

<select v-model="favourite">
 <option value="1">Vue</option>
 <option value="2">React</option>
 <option value="3">Angular</option>
</select>

還要加個el-option組件,靈活自由型:

<el-select v-model="favourite">
 <el-option value="1">Vue</el-option>
 <el-option value="2">React</el-option>
 <el-option value="3">Angular</el-option>
</el-select>

好啦,這樣設計就能完美解決之前的幾個問題。

接著要解決選擇了某一個el-option,怎么告訴el-select,$parent是一種選擇,那么el-select當前的值又怎么告訴el-option你被選中了呢~ 筆者沒有繼續去深究,因為看到了APIprovide/inject

官方說明:

允許一個祖先組件向其所有子孫后代注入一個依賴,不論組件層次有多深(這也是使用$parent不好實現的地方),并在起上下游關系成立的時間里始終生效。
不論組件層次有多深,這個簡直太爽了,不用再關心dom層級,只要在祖先組件內部就可以一直使用祖先組件提供的provide

用法

下面貼出一部分select的實現:

  • provide:Object | () => Object

  • inject:Array<string> | { [key: string]: string | Symbol | Object }

el-select

export default {
 name: "el-select",
 provide() {
 return {
 select: this
 };
 }
}

el-option

export default {
 name:'el-option',
 inject:['select'],
 created(){
 if(this.select.value===this.value){
 this.select.label=this.label;
 }
 }
}

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Vue中依賴注入的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

五大连池市| 大邑县| 许昌市| 和顺县| 赣州市| 阜阳市| 大埔区| 虎林市| 阳山县| 岳西县| 象州县| 安庆市| 北流市| 沙田区| 平远县| 会理县| 贵南县| 武冈市| 监利县| 大竹县| 康保县| 固原市| 友谊县| 东海县| 建德市| 德化县| 响水县| 西吉县| 南开区| 宁晋县| 黑龙江省| 伊春市| 买车| 贵港市| 十堰市| 瑞昌市| 米脂县| 邹城市| 惠来县| 略阳县| 东台市|