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中配置scss全局变量的步骤
Dec 28 Vue.js
Vue实现随机验证码功能
Dec 29 Vue.js
Vue中强制组件重新渲染的正确方法
Jan 03 Vue.js
vue watch监控对象的简单方法示例
Jan 07 Vue.js
vue 递归组件的简单使用示例
Jan 14 Vue.js
vue浏览器返回监听的具体步骤
Feb 03 Vue.js
Vue中使用wangeditor富文本编辑的问题
Feb 07 Vue.js
如何理解Vue前后端数据交互与显示
May 10 Vue.js
vue动态绑定style样式
Apr 20 Vue.js
vue @click.native 绑定原生点击事件
Apr 22 Vue.js
vue使用watch监听属性变化
Apr 30 Vue.js
vue如何清除浏览器历史栈
May 25 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+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
php检测图片主要颜色的方法
2015/07/01 PHP
thinkPHP查询方式小结
2016/01/09 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
ext form 表单提交数据的方法小结
2008/08/08 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
React优化子组件render的使用
2019/05/12 Javascript
微信小程序基础教程之worker线程的使用方法
2019/07/15 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
Python访问纯真IP数据库脚本分享
2015/06/29 Python
Python简单实现子网掩码转换的方法
2016/04/13 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
python实现按长宽比缩放图片
2018/06/07 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
2020/06/30 Python
python集合能干吗
2020/07/19 Python
数百万免费的图形资源:Freepik
2020/09/21 全球购物
怎样客观的做好自我评价
2013/12/28 职场文书
公司优秀员工获奖感言
2014/08/14 职场文书
2014年个人委托书范本
2014/10/13 职场文书
2014年财政所工作总结
2014/11/22 职场文书
幼儿园见习总结
2015/06/23 职场文书
《平移和旋转》教学反思
2016/02/19 职场文书
2019思想汇报范文
2019/05/21 职场文书
MySQL 数据恢复的多种方法汇总
2021/06/21 MySQL