vue 中的 provide/inject
2024-10-22 04:59:15
provide/inject 是 vue 2.2.0 版本新增
类型:
- provide:
Object | () => Object
- inject:
Array<string> | { [key: string]: string | Symbol | Object }
- provide:
这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在其上下游关系成立的时间里始终生效。
provide
选项应该是一个对象或返回一个对象的函数。该对象包含可注入其子孙的 property。在该对象中你可以使用 ES2015 Symbols 作为 key,但是只在原生支持 Symbol
和 Reflect.ownKeys
的环境下可工作。
inject
选项应该是:
- 一个字符串数组,或
- 一个对象,对象的 key 是本地的绑定名,value 是:
- 在可用的注入内容中搜索用的 key (字符串或 Symbol),或
- 一个对象,该对象的:
from
property 是在可用的注入内容中搜索用的 key (字符串或 Symbol)default
property 是降级情况下使用的 value
提示:
provide
和inject
绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的 property 还是可响应的。
// 父级组件提供 'foo'
var Provider = {
provide: {
foo: 'bar'
},
// ...
} // 子组件注入 'foo'
var Child = {
inject: ['foo'],
created () {
console.log(this.foo) // => "bar"
}
// ...
}
最新文章
- 让姑姑不再划拳 码农也要有原则 : SOLID via C#
- 那些年用过的xUnit.net的简单用法
- iOS autolayout 代码,自定义间距
- C# Thread 线程状态知识
- System.Diagnostics命名空间里的Debug类和Trace类的用途
- NFinal ajax
- xheditor 进阶
- Flask-Request对象属性
- C# .NET更智能的数据库操作的封装
- zookeeper分布式锁
- JDK 8 之 Stream sorted() 示例
- CodeForces - 468A
- mysql批量修改列名为小写
- ssl证书
- 下载文件 utils
- Android异步处理系列文章四篇之三
- ubuntu下安装php
- linux常见问题解决
- c#按照指定长度切分字符串
- Read from socket failed: Connection reset by peer 问题
热门文章
- Zstack私有云平台运行实践
- Vue-cli混入、elementUI的使用、vue-router、Vuex
- [TJOI2007]书架
- PostGIS之几何有效性
- 路飞项目使用mysql数据库详细讲解
- Java项目常用的异常处理
- AOP 编程
- C++ cannot bind non-const lvalue reference of type ‘Dog&;’ to an rvalue of type ‘Dog’
- vue3中inject无法获取provide传递的最新的值
- 关于浏览器缓存造成的bug解决方法(页面跳转缓存,刷新生效)