码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-12-20 10:31:19      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:更改   属性   对象   一个   中国   rop   获取   传值   component   

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

标签:更改   属性   对象   一个   中国   rop   获取   传值   component   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!