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 相关文章推荐
二级域名或跨域共享Cookies的实现方法
Aug 07 Javascript
javascript 当前日期加(天、周、月、年)
Aug 09 Javascript
JavaScript中使用正则匹配多条,且获取每条中的分组数据
Nov 30 Javascript
JS俄罗斯方块,包含完整的设计理念
Dec 11 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
Dec 12 Javascript
浅谈Javascript中Object与Function对象
Sep 26 Javascript
Javascript中的return作用及javascript return关键字用法详解
Nov 05 Javascript
AngularJS 指令详细介绍
Jul 27 Javascript
jQuery组件easyui基本布局实现代码
Aug 25 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 Javascript
JavaScript简单实现的仿微博留言功能示例
Jan 17 Javascript
nodemon实现Typescript项目热更新的示例代码
Nov 19 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
php实现的AES加密类定义与用法示例
2018/01/29 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
javascript来定义类的规范小结
2010/11/19 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
禁止IE用右键的JS代码
2013/12/30 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
layui原生表单验证的实例
2019/09/09 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
2020/12/01 Vue.js
Python深入学习之特殊方法与多范式
2014/08/31 Python
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
Python多线程模块Threading用法示例小结
2019/11/09 Python
解决Python中报错TypeError: must be str, not bytes问题
2020/04/07 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
e路東瀛(JAPANiCAN)香港:日本旅游、日本酒店和温泉旅馆预订
2018/11/21 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
高中生学习生活的自我评价
2013/10/09 职场文书
历史专业个人求职信分享
2013/12/20 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
幼儿园六一主持词
2015/06/30 职场文书
python实现Thrift服务端的方法
2021/04/20 Python
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏