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 相关文章推荐
一个挺有意思的Javascript小问题说明
Sep 26 Javascript
js控制frameSet示例
Sep 10 Javascript
Jquery validation remote 验证的缓存问题解决方法
Mar 25 Javascript
JavaScript内存管理介绍
Mar 13 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
Dec 04 Javascript
JS遍历数组及打印数组实例分析
Jan 21 Javascript
深入剖析javascript中的exec与match方法
May 18 Javascript
JavaScript数组方法大全(推荐)
Jul 05 Javascript
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
Node.js 8 中的 util.promisify的详解
Jun 12 Javascript
three.js中文文档学习之如何本地运行详解
Nov 20 Javascript
微信小程序拍照和摄像功能实现方法示例
Feb 01 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 Mysql类 可以参考学习熟悉下
2009/06/21 PHP
PHP函数常用用法小结
2010/02/08 PHP
PHP开发规范手册之PHP代码规范详解
2011/01/13 PHP
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
AngularJS下对数组的对比分析
2016/08/24 Javascript
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
CKEditor扩展插件:自动排版功能autoformat插件实现方法详解
2020/02/06 Javascript
python创建和删除目录的方法
2015/04/29 Python
详解Python的Django框架中的通用视图
2015/05/04 Python
python实现折半查找和归并排序算法
2017/04/14 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
tensorflow获取变量维度信息
2018/03/10 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
Python I/O与进程的详细讲解
2019/03/08 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
Django websocket原理及功能实现代码
2020/11/14 Python
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
为什么会有内存对齐
2016/10/10 面试题
电气工程及其自动化自我评价四篇
2013/09/24 职场文书
入党自我鉴定范文
2013/10/04 职场文书
商务英语专业毕业生自荐信
2013/11/05 职场文书
遗产继承公证书
2014/04/09 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
幼儿园中班区域活动总结
2014/07/09 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
毕业论文致谢范文
2015/05/14 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python
微软Win11有哪些隐藏功能? windows11多个功能汇总
2021/11/21 数码科技