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 相关文章推荐
js验证表单第二部分
Nov 25 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
May 06 Javascript
jquery固定底网站底部菜单效果
Aug 13 Javascript
jQuery实现带分组数据的Table表头排序实例分析
Nov 24 Javascript
基于JQuery实现图片上传预览与删除操作
May 24 Javascript
浅谈js对象的创建和对6种继承模式的理解和遐想
Oct 16 Javascript
validationEngine 表单验证插件使用实例代码
Jun 15 Javascript
jQuery使用each遍历循环的方法
Sep 19 jQuery
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
Apr 10 Javascript
Vue获取微博授权URL代码实例
Nov 04 Javascript
vue动态设置路由权限的主要思路
Jan 13 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 array数组的教程详解
2013/06/05 PHP
php使用多个进程同时控制文件读写示例
2014/02/28 PHP
分享一个php 的异常处理程序
2014/06/22 PHP
利用php输出不同的心形图案
2016/04/22 PHP
javascript之大字符串的连接的StringBuffer 类
2007/05/08 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
js/html光标定位的实现代码
2013/09/23 Javascript
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
2014/05/20 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
python循环监控远程端口的方法
2015/03/14 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
浅谈python标准库--functools.partial
2019/03/13 Python
python issubclass 和 isinstance函数
2019/07/25 Python
如何给Python代码进行加密
2020/01/10 Python
python开发一款翻译工具
2020/10/10 Python
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
群胜软件Java笔试题
2012/09/29 面试题
物业工作计划书
2014/01/10 职场文书
店长职务说明书
2014/02/04 职场文书
《春天来了》教学反思
2014/04/07 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
大型演出策划方案
2014/05/28 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
终止劳动合同协议书
2014/10/05 职场文书