vue中provide和inject 用法

更新日期: 2019-11-09阅读: 2.5k标签: 用法

一、概念解析

成对出现:provide和inject是成对出现的

作用

用于父组件向子孙组件传递数据

使用方法:

provide在父组件中返回要传给下级的数据,inject在需要使用这个数据的子辈组件或者孙辈等下级组件中注入数据。

使用场景:

由于vue有$parent属性可以让子组件访问父组件。但孙组件想要访问祖先组件就比较困难。通过provide/inject可以轻松实现跨级访问父组件的数据


二、代码解析

父组件:

<template>
  <!-- 父组件 -->
  <div class="block">
    <son></son>
  </div>
</template>
<script>
import sun from "./comp/sun.vue";
import son from "./comp/son.vue";

export default {
  // 父组件通过provide将自己的数据以对象形式传出去
  provide(){
    return {
      parentValue:"我是父组件的值啊"
    }
  },
  components:{
    sun,
    son
  }
};
</script>




子组件:

<template>
  <div style="background:red">
    我是子组件
    <p>我接受父组件传递的值:{{parentValue}}</p>
    <sun></sun>
  </div>
</template>
<script>
import sun from "./sun.vue";
export default {
  // inject:["parentValue"], // 使用一个注入的值作为数据入口:
  inject:{
    // 使用一个默认值使其变成可选项
    parentValue: { // 健名
      from: 'parentValue', // 来源
      default: 'parentValue' // 默认值
    }
  },
  components:{
    sun
  },
  created(){
    console.log("this.parentValue:",this.parentValue)
  }
}
</script>




孙组件:

<template>
  <div style="background:green">
    我是孙组件
    <p>我接受父父组件传递的值:{{parentValue}}</p>
  </div>
</template>

<script>
export default {
  inject:["parentValue"],
}
</script>


结果:

我们可以查看到父组件和子组件中都可以接收到父组件传递过来的值


链接: https://fly63.com/article/detial/6778

8种你可能正在写错的SQL用法

分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引。这样条件排序都能有效的利用到索引,性能迅速提升

在vue里使用codemirror的两种用法

这是我自己做的一个左边点击对应的标题,右边显示相应代码的一个功能。代码显示这里用的是vue-codemirror插件。data中cmOptions的配置,这里我写的比较简单,具体的配置项,可以去查官方文档

你可能不知道的JSON.stringify用法

JS 中有许多常见的函数,我们可能每天都在使用它们,但是却不知道它们的一些额外功能。JSON.stringify 就是这样的一个函数,今天就来看下它的特殊用法。

vue中ref的用法

ref 加在普通的元素上,用 this.$refs.name 获取到的是dom元素;ref 加在子组件上,用 this.$refs.name 获取到的是子组件实例,父组件可以使用子组件的所有方法(在上篇博客已介绍);如何利用 v-for 和 ref 获取一组数组或者dom 节点

MutationObserver用法

Mutation Observer API 用来监视 DOM 变动。比如节点的增减、属性的变动、文本内容的变动。MutationObserver使用observe方法进行监听指定的元素节点变化

MutationObserver是什么?

MutationObserver概览MutationObserver interface可以用来监测DOM树的变化。MutationObserver 是旧的DOM3事件规范Mutation Events特性的一个替换。

JavaScript中document.write()用法

在JavaScript中document.write()函数可以向文档写入HTML表达式或JavaScript代码,用法“document.write(exp1,exp2,exp3,....)”,该函数可接受任何多个参数,并将其写入文档中。

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!