vue 高级属性父组件provide向子组件发送数据,子组件通过inject接收数据

Posted zhx119

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 高级属性父组件provide向子组件发送数据,子组件通过inject接收数据相关的知识,希望对你有一定的参考价值。

以前父组件向子组件中传值是通过props传值,子组件不能更改父组件中的值,但是可以通过从父组件中获取的值定义给自己的data值,这里父组件可以通过provide向子组件传递自己组件中的data值,子组件通过inject获取父组件提供的值代码如下:

定义一个子组件:

<template>
<div>
{{demo}}
</div>
</template>
<script>
export default {
name: "childone",
inject: [‘for‘],
data ()
{
return {
demo: this.for
}
},
父组件:
<template>
<div class="hello">
<childe-one></childe-one>
</div>
</template>

<script>
import comone from ‘./com-one‘
import ChildeOne from ‘./childone‘
export default {
components : {
ChildeOne
},
provide() {
return {for: this.demo}
},
data () {
return {
demo:‘中国‘,
}
}
}
</script>
在父组件中定义
provide方法返回属性对象,属性为for,属性值是组件中的data值,子主件childe-one通过inject接收父组件传递的for,子组件在自己的data中定义变量demo接收父组件的for,这样就实现了
父组件传递子组件的值,







































以上是关于vue 高级属性父组件provide向子组件发送数据,子组件通过inject接收数据的主要内容,如果未能解决你的问题,请参考以下文章

vue父组件向子组件传值

Vue中,父组件向子组件传值

vue子父组件通信怎么实现

vue父子组件之间props的数据通信

Vue_(组件通讯)父组件向子组件传值

我说这是全网最全vue组件通信方式