1.在父组件中调用子组件,父亲传值给子组件
子组件如下,把要传给给父亲的值放在props中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
template>
<!--底部导航-->
<div class= "index-bbar" >
<ul class= "flex" >
<li v- for = "(item,index) in liAry" :class= "index==licurrent?'active':''" >
<router-link :to= "item.linkURl" >
<span class= "flex alignc flexdc" >
<img :src= "index==licurrent?require('../../' + item.urlActive):require('../../' + item.url)" class= "img1" ><span>{{item.title}}</span>
</span>
</router-link>
</li>
</ul>
</div>
</template>
<script>
export default {
name: 'Bottom' ,
data () {
return {
}
},
props:[ 'liAry' , 'licurrent' ],
methods: {
}
}
</script>
<style scoped>
@import "../../assets/public/css/top.css" ;
@import "../../assets/public/css/bottom.css" ;
</style>
|
父组件的调用的三部曲
首先引入子组件
1
|
import Bottom from '@/components/public/Bottom' ;
|
注入组件在components中注入
1
|
components: {Bottom}
|
在父亲中应用
1
2
3
|
<template>
<Bottom v-bind:liAry= 'lidata' v-bind:licurrent= 'guidecurrent' ></Bottom>
</template>
|
到这里就结束了,是不是贼快
2.子组件传值给父组件
父组件在组件上定义了一个自定义事件childFn,事件名为parentFn用于接受子组件传过来的message值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<!-- 父组件 -->
< template >
< div class = "test" >
< test-com @ childFn = "parentFn" ></ test-com >
< br />
子组件传来的值 : {{message}}
</ div >
</ template >
< script >
export default {
// ...
data: {
message: ''
},
methods: {
parentFn(payload) {
this.message = payload;
}
}
}
</ script >
|
子组件是一个buttton按钮,并为其添加了一个click事件,当点击的时候使用$emit()触发事件,把message传给父组件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<!-- 子组件 -->
< template >
< div class = "testCom" >
< input type = "text" v-model = "message" />
< button @ click = "click" >Send</ button >
</ div >
</ template >
< script >
export default {
// ...
data() {
return {
// 默认
message: '我是来自子组件的消息'
}
},
methods: {
click() {
this.$emit('childFn', this.message);
}
}
}
</ script >
|
在子组件向父亲传值的时候,不可用router-link,不然接受不到父亲定义的函数
以上就是vue中父子组件的参数传递和应用示例的详细内容,更多关于vue中父子组件的参数传递的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/binmengxue/p/12195932.html