Vite 使用inject/provide

简介: Vite 使用inject/provide

父级组件

<template>
<div>
    <div   @click="changeVlaue()"> 点击改变</div>
    
</div>
</template>
import {
  reactive,
  provide,
  ref
} from 'vue'
 setup() {
    const type= ref("business"); //加上响应式,加上后父组件改变此值所有子组件的值都会跟着变
    //const type= "business"; //不加响应式,父组件调用了changeVlaue改变值后,子组件不会跟着一起改变
    //const type= reactive({type:"business"}); //另一种响应式,用哪种都行,只是取值的方式不一样
    provide('AssetsType', type)
    const methods = {
     changeVlaue: () => {
        type.value='我改变了'
      },
    }
    return {
      ...toRefs(methods),
      type
    }
 
}

子组件

<template>
<div>
    <div> {{AssetsType}}</div>
    <div> {{test}}</div>
</div>
</template>
import {
  reactive,
  inject,
} from 'vue'
 
setup() {
    //用法一
     const test = inject('AssetsType')
    //用法二
    const state: any = reactive({
      AssetsType:inject('AssetsType')
    })
return {
      ...toRefs(state),
      test
    }
 
}


相关文章
|
6月前
|
JavaScript
Vue中的provide和inject适用于哪些场景?
Vue中的provide和inject适用于哪些场景?
100 0
|
6月前
|
JavaScript
Vue中的provide和inject的使用场景是什么?
Vue中的provide和inject的使用场景是什么?
170 3
|
6月前
|
JavaScript 开发者
Vue中provide和inject的作用是什么?
Vue中provide和inject的作用是什么?
74 0
|
28天前
|
API
vue3知识点:provide 与 inject
vue3知识点:provide 与 inject
33 4
vue3知识点:provide 与 inject
|
2月前
实际项目中如何选择 Provide / Inject 和 Vuex?
实际项目中如何选择 Provide / Inject 和 Vuex?
120 63
|
6月前
|
JavaScript
vue3的警告问题 [Vue warn]: inject() can only be used inside setup() or functional components. 怎么解决?
vue3的警告问题 [Vue warn]: inject() can only be used inside setup() or functional components. 怎么解决?
383 5
|
6月前
|
设计模式 JavaScript API
依赖注入:使用provide/inject在Vue中管理依赖
【4月更文挑战第23天】Vue.js的依赖注入设计模式通过provide/inject API减少组件耦合,提高代码可维护性和测试性。provide选项在父组件中定义要共享的属性,inject则在子组件中接收这些属性。依赖注入适用于跨组件数据共享、插件开发和高阶组件。然而,应谨慎使用以保持代码清晰。
41 2
|
6月前
|
JavaScript
VUE组件: Vue中的provide和inject是用来做什么的?
VUE组件: Vue中的provide和inject是用来做什么的?
79 0
|
JavaScript API
vue组件通讯之provide / inject
vue组件通讯之provide / inject
60 0