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 相关文章推荐
用js实现下载远程文件并保存在本地的脚本
May 06 Javascript
Javascript中call和apply函数的比较和使用实例
Feb 03 Javascript
JS实现仿QQ聊天窗口抖动特效
May 10 Javascript
JS实现新浪博客左侧的Blog管理菜单效果代码
Oct 22 Javascript
JavaScript中日期的相关操作方法总结
Oct 24 Javascript
详解JavaScript中的事件流和事件处理程序
May 20 Javascript
详解js实现线段交点的三种算法
Aug 09 Javascript
AngularJS报错$apply already in progress的解决方法分析
Jan 30 Javascript
H5手机端多文件上传预览插件
Apr 21 Javascript
Vue用v-for给src属性赋值的方法
Mar 03 Javascript
详解服务端预渲染之Nuxt(介绍篇)
Apr 07 Javascript
JavaScript组合设计模式--改进引入案例分析
May 23 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
第十三节 对象串行化 [13]
2006/10/09 PHP
php事务处理实例详解
2014/07/11 PHP
如何使用php实现评委评分器
2015/07/31 PHP
PHP会话处理的10个函数
2015/08/11 PHP
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
Node.js实现连接mysql数据库功能示例
2017/09/15 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
js实现内置计时器
2019/12/16 Javascript
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
python中sleep函数用法实例分析
2015/04/29 Python
在Python的Django框架中simple-todo工具的简单使用
2015/05/30 Python
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
python爬虫基础教程:requests库(二)代码实例
2019/04/09 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
简单叙述一下MYSQL的优化
2016/05/09 面试题
大学生最常用的自我评价
2013/12/07 职场文书
行政专员的岗位职责
2014/03/10 职场文书
委托公证书范本
2014/04/03 职场文书
党性分析材料格式
2014/12/19 职场文书
银行培训心得体会范文
2016/01/09 职场文书
python关于集合的知识案例详解
2021/05/30 Python
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python