vue3+ts 依賴(lài)注入provide inject的用法
父級(jí):
<template>
<div>
<h1>App.vue (爺爺級(jí)別)</h1>
<label>
<input type="radio" v-model="colorVal" value="red" name="color" />
紅色
</label>
<label>
<input type="radio" v-model="colorVal" value="pink" name="color" />
粉色
</label>
<label>
<input type="radio" v-model="colorVal" value="yellow" name="color" />
黃色
</label>
<div class="box"></div>
<hr />
<provideAVue></provideAVue>
</div>
</template>
<script setup lang="ts">
import { ref, provide } from "vue";
import provideAVue from "./components/provideA.vue";
const colorVal = ref<string>("red");
provide("color", colorVal);
</script>
<style>
.box {
height: 50px;
width: 50px;
border: 1px solid #ccc;
background: v-bind(colorVal);
}
</style>
兒子級(jí)別:
<template lang="html">
<div>
<h1>provideA.vue(兒子級(jí)別)</h1>
<div class="box"></div>
<hr />
<provideBVue></provideBVue>
</div>
</template>
<script lang="ts" setup>
import { inject } from "vue";
import type { Ref } from "vue";
import provideBVue from "./provideB.vue";
const color = inject<Ref<string>>("color");
</script>
<style lang="scss">
.box {
width: 50px;
height: 50px;
border: 1px solid #ccc;
background: v-bind(color);
}
</style>
孫子級(jí):
<template lang="html">
<div>
<h1>provideA.vue(孫子級(jí)別)</h1>
<div>
<button @click="change">修改 provide的值 yellow</button>
</div>
<div class="box"></div>
<hr />
</div>
</template>
<script lang="ts" setup>
import { inject } from "vue";
import type { Ref } from "vue";
const color = inject<Ref<string>>("color");
const change = () => {
color!.value = "yellow";
};
</script>
<style lang="scss">
.box {
width: 50px;
height: 50px;
border: 1px solid #ccc;
background: v-bind(color);
}
</style>
效果圖

到此這篇關(guān)于vue3+ts 依賴(lài)注入provide inject的用法的文章就介紹到這了,更多相關(guān)vue3 ts 依賴(lài)注入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue 使用依賴(lài)注入的方式共享數(shù)據(jù)的過(guò)程
- Vue3中依賴(lài)注入provide、inject的使用
- Vue3學(xué)習(xí)筆記之依賴(lài)注入Provide/Inject
- vue中的依賴(lài)注入provide和inject簡(jiǎn)單介紹
- Vue?privide?和inject?依賴(lài)注入的使用詳解
- Vue?2源碼閱讀?Provide?Inject?依賴(lài)注入詳解
- Vue 2.0 中依賴(lài)注入 provide/inject組合實(shí)戰(zhàn)
- 詳解Vue實(shí)戰(zhàn)指南之依賴(lài)注入(provide/inject)
相關(guān)文章
Element樹(shù)形控件el-tree懶加載并設(shè)置默認(rèn)展開(kāi)和選中的效果
本文主要介紹了Element樹(shù)形控件el-tree懶加載并設(shè)置默認(rèn)展開(kāi)和選中的效果,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
element的表單校驗(yàn)證件號(hào)規(guī)則及輸入“無(wú)”的情況校驗(yàn)通過(guò)(示例代碼)
這篇文章主要介紹了element的表單校驗(yàn)證件號(hào)規(guī)則及輸入“無(wú)”的情況校驗(yàn)通過(guò),使用方法對(duì)校驗(yàn)數(shù)據(jù)進(jìn)行過(guò)濾判斷,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2023-11-11
vue項(xiàng)目element UI input框掃碼槍掃描過(guò)快出現(xiàn)數(shù)據(jù)丟失問(wèn)題及解決方案
這篇文章主要介紹了vue項(xiàng)目element UI input框掃碼槍掃描過(guò)快出現(xiàn)數(shù)據(jù)丟失問(wèn)題,輸入框要掉兩個(gè)接口,根據(jù)第一個(gè)驗(yàn)證接口返回的code,彈不同的框,點(diǎn)擊彈框確認(rèn)再掉第二個(gè)接口,需要的朋友可以參考下2022-12-12
如何實(shí)現(xiàn)雙向綁定mvvm的原理實(shí)現(xiàn)
這篇文章主要介紹了vue雙向數(shù)據(jù)綁定原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05
Vuejs第七篇之Vuejs過(guò)渡動(dòng)畫(huà)案例全面解析
這篇文章主要介紹了Vuejs第七篇之Vuejs過(guò)渡動(dòng)畫(huà)案例全面解析的相關(guān)資料,需要的朋友可以參考下2016-09-09
基于Vue3實(shí)現(xiàn)無(wú)限滾動(dòng)組件的示例代碼
如果你在社交媒體上停留的時(shí)間過(guò)長(zhǎng),那么,你所在的網(wǎng)站很可能正在使用無(wú)限滾動(dòng)組件。這篇文章教你利用Vue3實(shí)現(xiàn)無(wú)限滾動(dòng)組件,感興趣的可以參考一下2022-09-09
lottie實(shí)現(xiàn)vue自定義loading指令及常用指令封裝詳解
這篇文章主要為大家介紹了lottie實(shí)現(xiàn)vue自定義loading指令及常用指令封裝,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09

