<body>
<div id="app"></div>
</body>
<script>
const app = Vue.createApp({
setup() {
const { ref, provide } = Vue;
const name = ref('zhangsan');
// 定義修改方法在父組件
const changeName = (value) => {
name.value = value;
}
// 通過provide傳遞參數(shù)
provide('name', name);
provide('changeName', changeName);
return {
}
},
template: `<child />`
})
app.component('child', {
template: `<div @click="handleChangeName">{{name}}</div>`,
setup() {
const { inject } = Vue;
// 獲取參數(shù)
const name = inject('name');
const changeName = inject('changeName');
// 調(diào)用修改方法修改父組件的值
const handleChangeName = () => {
changeName('lisi')
}
return {
name,
handleChangeName
}
}
})
const vm = app.mount("#app");
</script>
Vue 3 provide 和 inject 傳參
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 前言 這對選項需要一起使用,以允許一個祖先組件向其所有子孫后代注入一個依賴,不論組件層次有多深,并在起上下游關(guān)系成...
- 父傳更深的后代一般往深度層級傳遞值,有這兩種方式:· provide / inject· vu...
- vue3已release了,一些新特性也需要了解下,在多層組件傳遞參數(shù)情況下,provide是更好的選擇 組合式提...
- 使用provide和inject的Vue依賴項注入非常適合構(gòu)建Vue3插件或避免prop多層傳遞。 盡管不經(jīng)常使用...
- Vue3 中使用 provide inject 刷新部分路由頁面 其中原理就是使用 provide 提供一個 re...