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项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 Vue.js
vue-cli4.0多环境配置变量与模式详解
Dec 30 Vue.js
Vue中inheritAttrs的使用实例详解
Dec 31 Vue.js
vue+vant 上传图片需要注意的地方
Jan 03 Vue.js
Vue过滤器,生命周期函数和vue-resource简单介绍
Jan 12 Vue.js
解决vue项目本地启动时无法携带cookie的问题
Feb 06 Vue.js
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
vue实现无缝轮播效果(跑马灯)
May 14 Vue.js
解读Vue组件注册方式
May 15 Vue.js
vue使用Google Recaptcha验证的实现示例
Aug 23 Vue.js
vue ant design 封装弹窗表单的使用
Jun 01 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仿盗链代码
2012/06/03 PHP
php表单提交与$_POST实例分析
2015/01/26 PHP
Laravel 5 学习笔记
2015/03/06 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
2015/12/22 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
AngularJS的一些基本样式初窥
2015/07/27 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
解决微信浏览器Javascript无法使用window.location.reload()刷新页面
2016/06/21 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
详解Angular的8个主要构造块
2017/06/20 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
详解python进行mp3格式判断
2016/12/23 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
python数据挖掘需要学的内容
2019/06/23 Python
Python selenium实现断言3种方法解析
2020/09/08 Python
心理学专业大学生职业生涯规划范文
2014/02/19 职场文书
我的中国梦口号
2014/06/16 职场文书
超市周年庆活动方案
2014/08/16 职场文书
六一儿童节活动总结
2014/08/27 职场文书
2014年小学重阳节活动策划方案
2014/09/16 职场文书
敲诈同学钱财检讨书范文
2014/11/18 职场文书
介绍信如何写
2015/01/31 职场文书
2015年父亲节寄语
2015/03/23 职场文书
2015年小学语文教学工作总结
2015/05/25 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
Axios取消重复请求的方法实例详解
2021/06/15 Javascript
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android