Vue 组件传值几种常用方法【总结】


Posted in Javascript onMay 28, 2018

使用vue也有很多年了,一直都没有整理一下相关知识,给大家总结下开发过程中所遇到的一些坑,主要给大家总结一下vue组件传值的几种常用方法:

1、通过路由带参数传值

   ① A组件通过query把id传给B组件         

this.$router.push({path:'/B',query:{id:1}})

  ② B组件接收 

this.$route.query.id

2、父组件向子组件传值

使用props向子组件传递数据

子组件部分:child.vue

<template>
  <div>
    <ul>
      <li v-for='(item,index) in nameList' :key='index'>{{item.name}}</li>
    </ul>
  </div>
</template>
<script>
export default {
  props:['nameList']
}
</script>

父组件部分:

<template>
  <div>
    <div>这是父组件</div>
    <child :name-list='names'></child>  
  </div>
</template>
<script>
import child from './child.vue'
export default {
  components:{
    child
  },
  data(){
    return{
      names:[
        {name:'柯南'},
        {name:'小兰'},
        {name:'工藤新一'}
      ]
    }
  }
}
</script>

3、子组件向父组件传值

    子组件主要通过事件向父组件传递数据:

    子组件部分:

<template>
  <div>
    <ul>
      <li v-for='(item,index) in nameList' :key='index'>{{item.name}}</li>
    </ul>
    <Button @click='toParent'>点击我</Button>
  </div>
</template>
<script>
export default {
  props:['nameList'],
  methods:{
    toParent(){
      this.$emit('emitData',123)
    }
  }
}
</script>

父组件部分:

<template>
  <div>
    <div>这是父组件</div>
    <child :name-list='names' @emitData='getData'></child>  
  </div>
</template>
<script>
import child from './child.vue'
export default {
  components:{
    child
  },
  data(){
    return{
      names:[
        {name:'柯南'},
        {name:'小兰'},
        {name:'工藤新一'}
      ]
    }
  },
  methods:{
    getData(data){
      console.log(data); //123
    }
  }
}
</script>

总结

以上所述是小编给大家介绍的Vue 组件传值几种常用方法【总结】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript的onchange事件与jQuery的change()方法比较
Sep 28 Javascript
javascript 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
window.parent与window.openner区别介绍
Apr 12 Javascript
JavaScript如何从listbox里同时删除多个项目
Oct 12 Javascript
js与运算符和或运算符的妙用
Feb 14 Javascript
使用jquery组件qrcode生成二维码及应用指南
Feb 22 Javascript
Bootstrap carousel轮转图的使用实例详解
May 17 Javascript
json实现添加、遍历与删除属性的方法
Jun 17 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
详解从Vue-router到html5的pushState
Jul 21 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
Sep 05 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
Apr 09 Javascript
讲解vue-router之命名路由和命名视图
May 28 #Javascript
微信小程序实现图片上传功能
May 28 #Javascript
微信小程序上传图片功能(附后端代码)
Jun 19 #Javascript
讲解vue-router之什么是编程式路由
May 28 #Javascript
讲解vue-router之什么是嵌套路由
May 28 #Javascript
微信小程序上传图片实例
May 28 #Javascript
讲解vue-router之什么是动态路由
May 28 #Javascript
You might like
德劲1107的电路分析与打磨
2021/03/02 无线电
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
php中header设置常见文件类型的content-type
2015/06/23 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
php正则修正符用法实例详解
2016/12/29 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
2017/06/21 PHP
jquery ajax 登录验证实现代码
2009/09/23 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
教你安装python Django(图文)
2013/11/04 Python
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
Python中使用Queue和Condition进行线程同步的方法
2016/01/19 Python
聊聊Python中的pypy
2018/01/12 Python
wxPython之解决闪烁的问题
2018/01/15 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
艺术设计专业个人求职信
2013/09/21 职场文书
《雷鸣电闪波尔卡》教学反思
2014/02/23 职场文书
民主评议党员个人自我评价
2015/03/03 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL
POST提交数据常见的四种方式
2022/01/18 HTML / CSS