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脚本编程解决考试分数统计问题
Oct 18 Javascript
De facto standard 世界上不可思议的事实标准
Aug 29 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
Jan 12 Javascript
有效提高JavaScript执行效率的几点知识
Jan 31 Javascript
前端编码规范(3)JavaScript 开发规范
Jan 21 Javascript
jQuery序列化后的表单值转换成Json
Jun 16 jQuery
微信小程序switch组件使用详解
Jan 31 Javascript
Vue axios设置访问基础路径方法
Sep 19 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
Sep 02 Javascript
jQuery实现简单日历效果
Jul 05 jQuery
Element-UI 使用el-row 分栏布局的教程
Oct 26 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 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里的JS打印函数
2006/10/09 PHP
介绍php设计模式中的工厂模式
2008/06/12 PHP
解析php二分法查找数组是否包含某一元素
2013/05/23 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
PHP设计模式之抽象工厂模式实例分析
2019/03/25 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
javascript 当前日期加(天、周、月、年)
2009/08/09 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
JQuery slideshow的一个小问题(如何发现及解决过程)
2013/02/06 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
2016/05/03 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
2019/05/01 Javascript
JavaScript实现五子棋小游戏
2020/10/26 Javascript
[05:00]第二届DOTA2亚洲邀请赛主赛事第三天比赛集锦.mp4
2017/04/04 DOTA
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
Python中join()函数多种操作代码实例
2020/01/13 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
秘书岗位职责
2013/11/18 职场文书
财务方面个人工作的自我评价
2013/12/28 职场文书
经典团队口号大全
2014/06/21 职场文书
室内趣味活动方案
2014/08/24 职场文书
户籍证明格式
2014/09/15 职场文书
债务授权委托书范本
2014/10/17 职场文书
毕业生爱心捐书倡议书
2015/04/27 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书