• 技术文章 >web前端 >js教程

    vue中provide/inject使用步骤详解

    php中世界最好的语言php中世界最好的语言2018-06-01 10:38:01原创2951

    这次给大家带来vue中provide/inject使用步骤详解,vue中provide/inject使用的注意事项有哪些,下面就是实战案例,一起来看一下。

    前言

    最近在看element-ui的源码,发现了一个这样的属性:inject.遂查看官网provider/inject

    provider/inject:简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。

    需要注意的是这里不论子组件有多深,只要调用了inject那么就可以注入provider中的数据。而不是局限于只能从当前父组件的prop属性来获取数据。

    下面我们来验证下猜想:

    first:定义一个parent component

    <template>
     <p>
    <childOne></childOne>
     </p>
    </template>
    <script>
     import childOne from '../components/test/ChildOne'
     export default {
      name: "Parent",
      provide: {
       for: "demo"
      },
      components:{
       childOne
      }
     }

    在这里我们在父组件中provide for这个变量。

    second 定义一个子组件

    <template>
     <p>
      {{demo}}
      <childtwo></childtwo>
     </p>
    </template>
    <script>
     import childtwo from './ChildTwo'
     export default {
      name: "childOne",
      inject: ['for'],
      data() {
       return {
        demo: this.for
       }
      },
      components: {
       childtwo
      }
     }
    </script>

    third 定义另一个子组件

    <template>
     <p>
      {{demo}}
     </p>
    </template>
    <script>
     export default {
      name: "",
      inject: ['for'],
      data() {
       return {
        demo: this.for
       }
      }
     }
    </script>

    在2个子组件中我们使用jnject注入了provide提供的变量for,并将它提供给了data属性。

    这里官网注明例子只工作在 Vue 2.2.1 或更高版本。低于这个版本时,注入的值会在 props 和 data 初始化之后得到。

    运行之后看下结果

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    怎样使用vue实现2048小游戏

    如何操作Vue内使用vee-validate

    以上就是vue中provide/inject使用步骤详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:provide inject 详解
    上一篇:vue中父子组件传值及slot使用剖析 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文聊聊Node.js中的cluster(集群)• 简单了解JavaScript闭包• 抖音很火的图片选择题特效,用前端快速实现!• 一文聊聊node后端路由自动加载• 一文详解Node中express的身份认证
    1/1

    PHP中文网