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 相关文章推荐
srcElement表格样式
Sep 03 Javascript
js window.event对象详尽解析
Feb 17 Javascript
jquery struts 验证唯一标识(公用方法)
Mar 27 Javascript
固定表格行列(expression)在IE下适用
Jul 25 Javascript
js简单时间比较的方法
Aug 02 Javascript
JavaScript数据类型学习笔记分享
Sep 01 Javascript
JSON对象转化为字符串详解
Aug 11 Javascript
Koa代理Http请求的示例代码
Oct 10 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
Jun 18 Javascript
vue实现简单学生信息管理
May 30 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
Jul 24 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
Nov 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 MemCached高级缓存配置图文教程
2010/08/05 PHP
php基础学习之变量的使用
2011/06/09 PHP
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
php获得用户ip地址的比较不错的方法
2014/02/08 PHP
php把数组值转换成键的方法
2015/07/13 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
在网页中使用document.write时遭遇的奇怪问题
2010/08/24 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
动态的改变IFrame的高度实现IFrame自动伸展适应高度
2012/12/28 Javascript
js格式化金额可选是否带千分位以及保留精度
2014/01/28 Javascript
jquery实现带二级菜单的导航示例
2014/04/28 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
2016/10/08 Javascript
jQuery在header中设置请求信息的方法
2017/03/06 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
详解JavaScript 中的批处理和缓存
2020/11/19 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
解决virtualenv -p python3 venv报错的问题
2021/02/05 Python
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
关于青春的演讲稿三分钟
2014/08/22 职场文书
中学生关于梦想的演讲稿
2014/08/22 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
工作证明英文模板
2014/10/21 职场文书
房产公证书
2015/01/23 职场文书
vue组件vue-esign实现电子签名
2022/04/21 Vue.js