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阻止冒泡和HTML默认操作
Nov 17 Javascript
一些主流JS框架中DOMReady事件的实现小结
Feb 12 Javascript
js下将字符串当函数执行的方法
Jul 13 Javascript
Jquery方式获取iframe页面中的 Dom元素
May 07 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
May 23 Javascript
推荐8款jQuery轻量级树形Tree插件
Nov 12 Javascript
jQuery实现底部浮动窗口效果
Sep 07 Javascript
微信小程序实战之上拉(分页加载)效果(2)
Apr 17 Javascript
vue实现验证码输入框组件
Dec 14 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
Jun 28 Javascript
ajax与jsonp的区别及用法
Oct 16 Javascript
浅谈Vue为什么不能检测数组变动
Oct 14 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
[EPIC] Larva vs Flash ZvT @ Crossing Field [2017-10-09]
2020/03/17 星际争霸
Memcache 在PHP中的使用技巧
2010/02/08 PHP
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
PHP中file_put_contents追加和换行的实现方法
2017/04/01 PHP
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
javascript parseInt() 函数的进制转换注意细节
2013/01/08 Javascript
js正则表达式的使用详解
2013/07/09 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
详解JS-- 浮点数运算处理
2016/11/28 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
详解vue-cli项目中用json-sever搭建mock服务器
2017/11/02 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
python正则表达式修复网站文章字体不统一的解决方法
2013/02/21 Python
Python标准库内置函数complex介绍
2014/11/25 Python
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
Python正则表达式使用经典实例
2016/06/21 Python
scrapy爬虫实例分享
2017/12/28 Python
python二进制读写及特殊码同步实现详解
2019/10/11 Python
520使用Python实现“我爱你”表白
2020/05/20 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
T3官网:头发造型工具
2019/12/26 全球购物
奥巴马演讲稿
2014/01/08 职场文书
化学教学随笔感言
2014/02/19 职场文书
授权委托书范文
2014/07/31 职场文书
新生儿未入户证明
2015/06/23 职场文书
小学运动会宣传稿
2015/07/23 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
PL350与SW11的比较
2021/04/22 无线电
golang操作rocketmq的示例代码
2022/04/06 Golang