最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

vue中的provide/inject的学习

来源:懂视网 责编:小采 时间:2020-11-27 19:57:26
文档

vue中的provide/inject的学习

vue中的provide/inject的学习:本次的文章给大家分享了关于vue中的provide/inject的学习,希望可以帮助到有需要的朋友前言最近在看element-ui的源码,发现了一个这样的属性:inject.遂查看官网provider/injectprovider/inject:简单的来说就是在父组件中通过provider来提供变量,
推荐度:
导读vue中的provide/inject的学习:本次的文章给大家分享了关于vue中的provide/inject的学习,希望可以帮助到有需要的朋友前言最近在看element-ui的源码,发现了一个这样的属性:inject.遂查看官网provider/injectprovider/inject:简单的来说就是在父组件中通过provider来提供变量,

下面我们来验证下猜想:

  • 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 初始化之后得到。

    运行之后看下结果

    从上面这个例子可以看出,只要在父组件中调用了,那么在这个父组件生效的生命周期内,所有的子组件都可以调用inject来注入父组件中的值。

    相关推荐:

    vue 2 使用Bus.js实现非父子组件通信

    基于vue.js和webpack的Chat示例

    Vue.js最佳实践(五招让你成为Vue.js大师)

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    vue中的provide/inject的学习

    vue中的provide/inject的学习:本次的文章给大家分享了关于vue中的provide/inject的学习,希望可以帮助到有需要的朋友前言最近在看element-ui的源码,发现了一个这样的属性:inject.遂查看官网provider/injectprovider/inject:简单的来说就是在父组件中通过provider来提供变量,
    推荐度:
    标签: provide inject vue中
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top