vue父组件向子组件动态传值的两种方法


Posted in Javascript onNovember 11, 2017

在一些项目需求中需要父组件向子组件动态传值,比如我这里的需求是,父组件动态通过axios获取返回的图片url数组然后传给子组件,上传图片的子组件拿到该数组后进行遍历并展示图片

方法有两种,

方法一:

props传值,这里注意一个问题,传过来的值需要用watch监听并赋值,否则这里获取到的是空数组

  父组件:

<uploadImg :width="200" :height="200" name="productImage" size="750px*750px" ref="productImage" :src-list="this.productImage"></uploadImg>
this.productImage=res.data.cover;

这里把通过后台返回的数组赋值给

this.productImage,然后把该数组传给子组件定义的props属性src-list

子组件:

watch:{
     srcList(curVal,oldVal){
      if(curVal){
       ;
       this.uploadImg=curVal;
       }
     },
}

然后子组件成功获取到该数组

方法二:

通过ref属性,父组件调用子组件的方法,把要传的数组作为参数传给子组件,子组件获取该参数,并使用

父组件:

this.$refs.productImage.getSrcList(res.data.cover);

子组件:

getSrcList(val){
  this.uploadImg=val;
}

PS:下面看下vuejs动态组件给子组件传递数据

通过子组件定义时候的props可以支持父组件给子组件传递数据,这些定义的props在子组件的标签中使用绑定属性即可,但是如果使用的是<component>动态组件,这个时候就没有显式的子组件标签,要给子组件传递数据需要在<component> 中进行绑定

<div class="app" id="deviceready">
    <component :is="currentView" :user_name.sync="user_name" :DOB.sync="DOB"></component>
  </div>

组件的作用于是独立的

组件的作用于是独立的,如果要从跟组件获取数据,那么需要一层层的传递才行,也就是说子组件只能从直接父组件获取数据,如果是根组件的数据,那么父组件就要继续暴露pops从而绑定来自根组件的数据。

Javascript 相关文章推荐
学习YUI.Ext 第二天
Mar 10 Javascript
一个简单的js动画效果代码
Jul 20 Javascript
说明你的Javascript技术很烂的五个原因
Apr 26 Javascript
50个比较实用jQuery代码段
Sep 18 Javascript
让checkbox不选中即将选中的checkbox不选中
Jul 11 Javascript
浅谈JavaScript中小数和大整数的精度丢失
May 31 Javascript
基于jQuery实现表格的查看修改删除
Aug 01 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
Jan 05 Javascript
jQuery点击头像上传并预览图片
Feb 23 Javascript
Vue内容分发slot(全面解析)
Aug 19 Javascript
详解easyui 切换主题皮肤
Apr 04 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
May 10 Javascript
详解Vue如何支持JSX语法
Nov 10 #Javascript
微信小程序异步处理详解
Nov 10 #Javascript
微信小程序实现选项卡功能
Jun 19 #Javascript
微信小程序实现多宫格抽奖活动
Apr 15 #Javascript
十分钟带你快速了解React16新特性
Nov 10 #Javascript
JS实现移动端整屏滑动的实例代码
Nov 10 #Javascript
Three.js加载外部模型的教程详解
Nov 10 #Javascript
You might like
PHP 数组遍历顺序理解
2009/09/09 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
ThinkPHP模板判断输出Empty标签用法详解
2014/06/30 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
jquery ajax 简单范例(界面+后台)
2013/11/19 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
2015/06/05 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
jQuery子元素过滤选择器用法示例
2016/09/09 Javascript
js带闹铃功能的倒计时代码
2016/09/29 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
前端vue如何使用高德地图
2020/11/05 Javascript
Python使用pyserial进行串口通信的实例
2019/07/02 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
Python类的动态绑定实现原理
2020/03/21 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
销售人员求职的自我评价分享
2014/03/15 职场文书
销售经理岗位职责
2014/03/16 职场文书
法人委托书范本
2014/04/04 职场文书
目标责任书范文
2014/04/14 职场文书
某某同志考察材料
2014/05/28 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
2016年感恩教师节活动总结
2016/04/01 职场文书
Github 使用python对copilot做些简单使用测试
2022/04/14 Python