vue中父子组件的参数传递和应用示例


Posted in Vue.js onJanuary 04, 2021

1.在父组件中调用子组件,父亲传值给子组件

子组件如下,把要传给给父亲的值放在props中

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>

父组件的调用的三部曲

首先引入子组件

import Bottom from '@/components/public/Bottom';

注入组件在components中注入

components: {Bottom}

在父亲中应用

<template>
<Bottom v-bind:liAry='lidata' v-bind:licurrent='guidecurrent'></Bottom>
</template>

到这里就结束了,是不是贼快

2.子组件传值给父组件

父组件在组件上定义了一个自定义事件childFn,事件名为parentFn用于接受子组件传过来的message值。

<!-- 父组件 -->
<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传给父组件

<!-- 子组件 -->
<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中父子组件的参数传递的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 Vue.js
Vue3 实现双盒子定位Overlay的示例
Dec 22 Vue.js
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
Jan 05 Vue.js
Vue 3自定义指令开发的相关总结
Jan 29 Vue.js
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
vue实现倒计时功能
Mar 24 Vue.js
vue完美实现el-table列宽自适应
May 08 Vue.js
vue中控制mock在开发环境使用,在生产环境禁用方式
Apr 06 Vue.js
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
Aug 05 Vue.js
如何在VUE中使用vue-awesome-swiper
Jan 04 #Vue.js
vue项目如何监听localStorage或sessionStorage的变化
Jan 04 #Vue.js
手写Vue源码之数据劫持示例详解
Jan 04 #Vue.js
vue+vant 上传图片需要注意的地方
Jan 03 #Vue.js
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 #Vue.js
vue中使用echarts的示例
Jan 03 #Vue.js
vue 动态生成拓扑图的示例
Jan 03 #Vue.js
You might like
php类声明和php类使用方法示例分享
2014/03/29 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
浏览器缩放检测的js代码
2014/09/28 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
js同源策略详解
2015/05/21 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
微信小程序实战之上拉(分页加载)效果(2)
2017/04/17 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
解析Vue.js中的组件
2018/02/02 Javascript
vue中$set的使用(结合在实际应用中遇到的坑)
2018/07/10 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
python将回车作为输入内容的实例
2018/06/23 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
python中turtle库的简单使用教程
2020/11/11 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
南京某公司笔试题
2013/01/27 面试题
资深财务管理人员自我评价
2013/09/22 职场文书
网络专业学生个人的自我评价
2013/12/16 职场文书
自我评价的写作规则
2014/01/06 职场文书
2014年建筑工作总结
2014/11/26 职场文书
实习生辞职信范文
2015/03/02 职场文书
储备店长岗位职责
2015/04/14 职场文书
安全知识竞赛主持词
2015/06/30 职场文书
葬礼主持词
2015/07/02 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python