首页 > 其他分享 >vue 的provide 和 inject

vue 的provide 和 inject

时间:2022-10-03 16:05:02浏览次数:52  
标签:vue name provide default export inject 组件 config

1.功能说明

在开发过程中,在子组件中如何获取父组件或者祖父级的数据。这个我们之前的做法是在子组件中找到父组件实例,然后使用父组件的数据。这样其实不是很自然。

在vue 中提供了 provide 和 inject 的功能,这个功能的作用是,在父组件中提供某些数据,在子或孙中获取这些数据。

2. 示例

2.1 编辑父页面

<template>
<div>
<input type="text" v-model="config.name">
<Child></Child>
</div>
</template>

<script>
import Child from "@/views/modules/demo/child";
export default {
name: "provide",
components: {Child},
provide(){
return {
config:this.config
}
},
data(){
return {
config:{
name:""
}
}
}
}
</script>

这里我们可以看到我们增加了一个 provide ,这个provide 提供的是一个 config 对象。

2.2 编辑子组件

<template>
<div>
<sun-component></sun-component>
</div>
</template>

<script>

import SunComponent from "@/views/modules/demo/sun";
export default {
name: "child",
components: {SunComponent}
}
</script>

这个组件什么都不做,只是引用孙组件。

2.3 编辑孙组件

<template>
<div>
{{config.name}}
</div>
</template>

<script>
export default {
name: "sunComponent",
//这里我们注入了一个config对象
inject:["config"]
}
</script>

2.4 效果

vue 的provide 和 inject_传递数据

这里我们看到从父组件向孙组件传递数据,这里也是实现了解耦。

标签:vue,name,provide,default,export,inject,组件,config
From: https://blog.51cto.com/u_15310651/5730392

相关文章

  • Vue响应式依赖收集原理分析-vue高级必备
    背景在Vue的初始化阶段,_init方法执行的时候,会执行initState(vm),它的定义在src/core/instance/state.js中。在初始化data和propsoption时我们注意initProps和......
  • Vue实战必会的几个技巧
    键盘事件在js中我们通常通过绑定一个事件,去获取按键的编码,再通过event中的keyCode属性去获得编码如果我们需要实现固定的键才能触发事件时就需要不断的判断,其实很......
  • Vue实战必会的几个技巧
    键盘事件在js中我们通常通过绑定一个事件,去获取按键的编码,再通过event中的keyCode属性去获得编码如果我们需要实现固定的键才能触发事件时就需要不断的判断,其实很......
  • Vue响应式依赖收集原理分析-vue高级必备
    背景在Vue的初始化阶段,_init方法执行的时候,会执行initState(vm),它的定义在src/core/instance/state.js中。在初始化data和propsoption时我们注意initProps......
  • 深度学习Vue源码-模板编译原理
    前言此篇主要手写Vue2.0源码-模板编译原理上一篇咱们主要介绍了Vue数据的响应式原理对于中高级前端来说响应式原理基本是面试Vue必考的源码基础类如果不是很清......
  • SSM+Vue房屋出租出售系统 个人房屋出租管理系统 房屋出售管理系统Java
    ......
  • Vue2 组件间通讯
    概述在Vue中一个项目中往往需要被拆分成多个组件,但是每个组件之间都会有相互访问数据的需求。这时就涉及到组件之间的通讯了。使用props进行组件间的通讯父向子通......
  • Vue2 路由
    Vue路由基本使用安装npmivue-router@3配置在src目录下生成router/index.js用于存放router的配置。router/index.js//引入vue-routerimportVueRoute......
  • vue-ant design示例大全——按钮本地css/js资源
    vue-antdesign示例大全——本地css/js资源示例资源来自官网:​​https://www.antdv.com/components/button-cn​​在AntDesignVue中我们提供了五种按钮。主按钮:用于主行......
  • Vue2 ref
    ref概述我们在使用Vue时,有时会需要拿到DOM元素进行操作。这时Vue不推荐我们进行使用原生JS获取DOM元素。而是为我们提供了ref方便我们去获取组件中的DOM......