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动态创建div
Sep 25 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
Oct 29 Javascript
验证手机号码的JS方法分享
Sep 10 Javascript
JavaScript中跨域调用Flash的方法
Aug 11 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
Oct 17 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
Apr 27 Javascript
基于Angularjs实现分页功能
May 30 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
Feb 27 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
Nov 13 Javascript
jQuery实现表单动态添加数据并提交的方法
Jul 19 jQuery
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
Jul 27 Javascript
vue props default Array或是Object的正确写法说明
Jul 30 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下打开phpMyAdmin出现403错误的问题解决方法
2013/05/23 PHP
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
2014/02/18 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
TNC vs IO BO3 第一场2.13
2021/03/10 DOTA
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
2013/07/28 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
js实现select跳转菜单新窗口效果代码分享(超简单)
2015/08/21 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
three.js实现围绕某物体旋转
2017/01/25 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
mpvue跳转页面及注意事项
2018/08/03 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
python实现杨辉三角思路
2017/07/14 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
Python2包含中文报错的解决方法
2018/07/09 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
python批量下载抖音视频
2019/06/17 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
Python for循环通过序列索引迭代过程解析
2020/02/07 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
HTML5 placeholder属性详解
2016/06/22 HTML / CSS
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
美国美妆网站:B-Glowing
2016/10/12 全球购物
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
资产经营总监岗位职责
2013/12/04 职场文书
班长演讲稿范文
2014/04/24 职场文书
聘任证明怎么写
2015/03/02 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书