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 相关文章推荐
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
May 24 Javascript
javascript中html字符串转化为jquery dom对象的方法
Aug 27 Javascript
深入浅析javascript中的作用域(推荐)
Jul 19 Javascript
Jquery遍历select option和添加移除option的实现方法
Aug 26 Javascript
详解用webpack2.0构建vue2.0超详细精简版
Apr 05 Javascript
微信小程序图片选择、上传到服务器、预览(PHP)实现实例
May 11 Javascript
js实现放大镜特效
May 18 Javascript
js实现拖拽上传图片功能
Aug 01 Javascript
快速处理vue渲染前的显示问题
Mar 05 Javascript
JavaScript实现多态和继承的封装操作示例
Aug 20 Javascript
vue.js实现简单购物车功能
May 30 Javascript
React Hook用法示例详解(6个常见hook)
Apr 28 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进行支付宝开发中return_url和notify_url的区别分析
2014/12/22 PHP
Java中final关键字详解
2015/08/10 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
Ant Design Vue table中列超长显示...并加提示语的实例
2020/10/31 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
Python构建XML树结构的方法示例
2017/06/30 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
在pycharm中使用matplotlib.pyplot 绘图时报错的解决
2020/06/01 Python
Python 如何实现访问者模式
2020/07/28 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
css图标制作教程制作云图标
2014/01/19 HTML / CSS
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
会计顶岗实习心得
2014/01/25 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
务虚会发言材料
2014/12/25 职场文书
教师辞职信范文
2015/02/28 职场文书
教学督导岗位职责
2015/04/10 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
2015年世界急救日宣传活动方案
2015/05/06 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
日元符号 ¥
2022/02/17 杂记