vue3+ts 依賴注入provide inject的用法
更新時間:2023年11月26日 16:28:30 作者:你的美,讓我癡迷
vue3中引入新的組件傳值方式,就是provide/inject依賴注入模式,本文主要介紹了vue3+ts 依賴注入provide inject的用法,感興趣的可以了解一下
父級:
<template> <div> <h1>App.vue (爺爺級別)</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>
兒子級別:
<template lang="html"> <div> <h1>provideA.vue(兒子級別)</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>
孫子級:
<template lang="html"> <div> <h1>provideA.vue(孫子級別)</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 依賴注入provide inject的用法的文章就介紹到這了,更多相關(guān)vue3 ts 依賴注入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Element樹形控件el-tree懶加載并設(shè)置默認(rèn)展開和選中的效果
本文主要介紹了Element樹形控件el-tree懶加載并設(shè)置默認(rèn)展開和選中的效果,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01element的表單校驗證件號規(guī)則及輸入“無”的情況校驗通過(示例代碼)
這篇文章主要介紹了element的表單校驗證件號規(guī)則及輸入“無”的情況校驗通過,使用方法對校驗數(shù)據(jù)進(jìn)行過濾判斷,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2023-11-11vue項目element UI input框掃碼槍掃描過快出現(xiàn)數(shù)據(jù)丟失問題及解決方案
這篇文章主要介紹了vue項目element UI input框掃碼槍掃描過快出現(xiàn)數(shù)據(jù)丟失問題,輸入框要掉兩個接口,根據(jù)第一個驗證接口返回的code,彈不同的框,點擊彈框確認(rèn)再掉第二個接口,需要的朋友可以參考下2022-12-12lottie實現(xiàn)vue自定義loading指令及常用指令封裝詳解
這篇文章主要為大家介紹了lottie實現(xiàn)vue自定義loading指令及常用指令封裝,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09