2.2.0 新增 描述: provide 和 inject 主要为高阶插件/组件库提供用例。并不推荐直接用于应用程序代码中; 并且这对选项需要一起使用; 以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。//父组件:provide: { //provide 是一个对象,提供一个属性或方法 foo: '这是 foo', fooMethod:()=>{ console.log('父组件 fooMethod 被调用') }},// 子或者孙子组件inject: ['foo','fooMethod'], //数组或者对象,注入到子组件mounted() { this.fooMethod() console.log(this.foo)}//在父组件下面所有的子组件都可以利用inject复制代码

provide 和 inject 绑定并不是可响应的。这是官方刻意为之的。 然而,如果你传入了一个可监听的对象,那么其对象的属性还是可响应的,对象是因为是引用类型//父组件:provide: { foo: '这是 foo'},mounted(){ this.foo='这是新的 foo'}// 子或者孙子组件inject: ['foo'], mounted() { console.log(this.foo) //子组件打印的还是'这是 foo'}复制代码

provide和inject响应方法// 父组件provide() { return { staticValue: this.staticValue, // 直接返回值,不可响应 staticObject: this.staticObject, // 返回一个对象,可响应 getReactiveValue: () => this.staticValue // 返回一个对象的函数,可响应 } }, // 子组件inject: ["staticValue", "getReactiveValue", "staticObject"],computed: { reactiveValue() { return this.getReactiveValue(); // 返回注入的对象函数,通过计算属性来监听值的变化 }, },复制代码

所以provide返回一个对象或者函数是可以响应的, 因为对象和函数是引用类型, 实际上改变也不是vue做的,而是JS的引用类型特性

微信交流(备注:前端)

vue 中provide的用法_vue中provide和inject的用法相关推荐

  1. vue 中provide的用法_vue中provide和inject使用

    1.provide/inject有什么用? 常用的父子组件通信方式都是父组件绑定要传递给子组件的数据,子组件通过props属性接收,一旦组件层级变多时,采用这种方式一级一级传递值非常麻烦,而且代码可读 ...

  2. vue 中provide的用法_Vue中使用provide和inject

    相信大家在工作中一定遇到过多层嵌套组件,而vue 的组件数据通信方式又有很多种. 比如vuex.$parent与$children.prop.$emit与$on.$attrs与$lisenters.e ...

  3. vue监听字符串长度_vue中的计算属性和侦听器

    计算属性概念 模板内的候通现端数是制这.效合应近环大过这业据的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护在重说道.础过学开概码数项遍间里哦行览屏屏 ...

  4. 在vue中实现picker样式_vue中van-picker的多列联动数据格式如何设置以及调用

    一开始看到van-picker的多列联动的例子时,脑子是懵逼的,我即将要用的数据不可能这么简单啊,这叫我咋用! 然后一顿苦思冥想,再深读文档内极其稀少的信息,最后在多次尝试后,终于把结果试出来了.没错 ...

  5. vue 中provide的用法_vue 中的 provide 和 inject 用法

    provider/inject:简单来说就是在父组件 provide 中提供变量,子组件 inject 中来注入,然后可以在子组件内部使用 provide 的变量 需要注意的是这里不论子组件有多深,只 ...

  6. vue 中provide的用法_vue中的provide和inject

    阅读element-ui源码,发现在设计子组时件用到了inject属性,随即查了一下官方文档,得知vue在2.2.0版本里新增了provide / inject: provide 和 inject 主 ...

  7. 中provide的用法_Vue中那些你不知道的作用域

    作用域控制可以使用哪些变量以及在何处使用.它控制它们对应用程序的不同部分的"可见性".了解 Vue 提供的作用域级别之间的差异会帮助我们编写更清晰的代码. 下面是 vue 中4个级 ...

  8. vue中this.init用法_Vue中的this.$options.data()和this.$data用法说明

    问题 项目里遇到一个问题,用this.$options.data()重置组件data时,data()里用this获取的props或method都为undefined,代码简化如下: export de ...

  9. vue 中watch函数名_VUE中watch用法

    一. watch是什么? 监测 Vue 实例变化的一个表达式或方法.回调函数得到的参数为新值和旧值,用一个函数取代. 简洁的说:watch的作用可以监控一个值的变换,并调用因为变化需要执行的方法.可以 ...

最新文章

  1. EMOS 1.5安装和配置
  2. jsp技术通过java_JavaWeb之JSP技术总结
  3. hive与hbase集成
  4. oracle+trace参数设置,Oracle autotrace参数详解
  5. 计算机考研补录,考研补录是什么意思 需要考试吗
  6. 什么是13薪,真的有18薪、25薪的不?
  7. 《Windows via C/C++》学习笔记 —— 内核对象的“线程同步”之“事件内核对象”...
  8. 在Visio里加上、下标方法
  9. IDEA如何进行debug调试
  10. 增值税防伪税控系统到底是什么呢?
  11. 洛谷 P1640 [SCOI2010]连续攻击游戏(二分图匹配)
  12. 【Mysql密码管理】-【管理员密码已知、未知(忘记密码)、破解】
  13. 网鼎杯2020 玄武组部分writeup
  14. java脚本错误修复,win10系统使用iE浏览器时不断出现Java活动脚本功能出错问题的操作技巧...
  15. 2022-2028全球造水机市场现状及未来发展趋势
  16. 这些前端资源,你值得拥有
  17. Python月份格式转化
  18. 企业需要k2来解放孤岛危机
  19. 异常: No enclosing instance of type xx is accessible. Must qualify (Java 内部类)
  20. USB HOST与 USB OTG的区别及工作原理

热门文章

  1. ONENET平台的登入与创建产品
  2. 比较两个字符串s1和s2的大小,如果s1s2,则输出一个正数;若s1=s2,则输出0;若s1小于s2,则输出一个负数。要求:不用strcpy函数;两个字符串用gets函数读入。
  3. 基因组水平以及转录组水平研究技术
  4. 企企通携手“浙江制造”品牌【安诺化学】,一站式采购管理助推企业数字化建设
  5. UE4(虚幻4)做一个双开平移自动门+双开旋转门+使用相对坐标
  6. 喜欢的歌——时间煮雨(郁可唯)
  7. RSA加密算法学习过程
  8. 秣小白的C语言旅程——第一站
  9. 上海工商业分时电价机制调整对储能行业项目的影响分析
  10. Elasticsearch(七) - X-Pack 用户管理