首页 > 其他 > 详细

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

时间:2018-12-20 10:17:49      阅读:314      评论:0      收藏:0      [点我收藏+]

以前父组件向子组件中传值是通过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接收数据

原文:https://www.cnblogs.com/zhx119/p/10147519.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!