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 相关文章推荐
基于jQuery的遍历同id元素 并响应事件的代码
Jun 14 Javascript
javascript 闭包详解
Feb 15 Javascript
json定义及jquery操作json的方法
Sep 29 Javascript
清除浏览器缓存的几种方法总结(必看)
Dec 09 Javascript
JavaScript订单操作小程序完整版
Jun 23 Javascript
vue双向绑定及观察者模式详解
Mar 19 Javascript
js实现简单分页导航栏效果
Jun 28 Javascript
JavaScript Array对象基本方法详解
Sep 03 Javascript
JavaScript生成一个不重复的ID的方法示例
Sep 16 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 19 Javascript
vue 获取元素额外生成的data-v-xxx操作
Sep 09 Javascript
vue-cropper组件实现图片切割上传
May 27 Vue.js
讲解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中使用asort进行中文排序失效的问题处理
2014/08/18 PHP
使用PHP如何实现高效安全的ftp服务器(二)
2015/12/30 PHP
深入剖析浏览器退出之后php还会继续执行么
2016/05/17 PHP
PHP模块化安装教程
2016/06/01 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
JS event使用方法详解
2008/04/28 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
使用jquery清空、复位整个输入域
2015/04/02 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
JS实现禁止鼠标右键的功能
2016/10/15 Javascript
JS克隆,属性,数组,对象,函数实例分析
2016/11/26 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
nodejs个人博客开发第七步 后台登陆
2017/04/12 NodeJs
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
基于Python实现扑克牌面试题
2019/12/11 Python
Python Handler处理器和自定义Opener原理详解
2020/03/05 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
如果一个类实现了多个接口但是这些接口有相同的方法名将会怎样
2013/06/16 面试题
有模特经验的简历自我评价
2013/09/19 职场文书
自我推荐书
2013/12/04 职场文书
资产运营委托书范本
2014/10/16 职场文书
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
Oracle配置dblink访问PostgreSQL的操作方法
2022/03/21 PostgreSQL