vue中provide & inject
时间: 2023-09-08 19:12:31 浏览: 77
聊聊Vue中provide/inject的应用详解
在Vue中,`provide`和`inject`是一对用于在父组件和子组件之间进行数据传递的高级选项。通过使用`provide`属性,父组件可以向其所有子组件提供数据。而子组件可以使用`inject`属性来接收这些被提供的数据。
在父组件中,你可以使用`provide`选项来提供数据,例如:
```javascript
provide: {
message: 'Hello, world!'
}
```
然后,在子组件中使用`inject`选项来接收这个数据:
```javascript
inject: ['message'],
mounted() {
console.log(this.message); // 输出:Hello, world!
}
```
注意,`inject`选项可以是一个字符串数组或者一个对象。如果是一个字符串数组,每个字符串都会被当作依赖注入的键名。如果是一个对象,键名会被当作依赖注入的键名,而键值会被当作本地的绑定名。
需要注意的是,`provide`和`inject`并不是响应式的。如果你需要在子组件中使用响应式数据,你可以考虑使用Vuex或者通过props和emit来进行通信。
阅读全文