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库 开发规则
Jan 31 Javascript
js 操作select相关方法函数
Dec 06 Javascript
ExpressJS入门实例
Jan 14 Javascript
jQuery实现统计输入文字个数的方法
Mar 11 Javascript
深入浅出 jQuery中的事件机制
Aug 23 Javascript
WEB 前端开发中防治重复提交的实现方法
Oct 26 Javascript
js Canvas实现的日历时钟案例分享
Dec 25 Javascript
详解Angular2组件之间如何通信
Jun 22 Javascript
vue.js路由跳转详解
Aug 28 Javascript
angularJs 表格添加删除修改查询方法
Feb 27 Javascript
深入浅析AngularJs模版与v-bind
Jul 06 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
Nov 29 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
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
PHP正则表达式之定界符和原子介绍
2012/10/05 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
jQuery性能优化28条建议你值得借鉴
2013/02/16 Javascript
javascript中声明函数的方法及调用函数的返回值
2014/07/22 Javascript
javascript实现iframe框架延时加载的方法
2014/10/30 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
详解Vue生命周期的示例
2017/03/10 Javascript
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
JavaScript This指向问题详解
2019/11/25 Javascript
vuex实现购物车功能
2020/06/28 Javascript
vant实现购物车功能
2020/06/29 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
详解Python3中字符串中的数字提取方法
2017/01/14 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
Python封装原理与实现方法详解
2018/08/28 Python
python3实现弹弹球小游戏
2019/11/25 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
中医临床专业自我鉴定范文
2014/01/15 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
党课心得体会范文
2014/09/09 职场文书
2014年六五普法工作总结
2014/11/25 职场文书
人民检察院起诉书
2015/05/20 职场文书
开学随笔
2015/08/15 职场文书
2015团员个人年度总结
2015/11/24 职场文书