vue全局组件-父子组件传值
全局组件注册方式:Vue.component(组件名,{方法})
demo: 子组件:upload.vue
<template>
<div >
<div class="file_box">
<input type="file" v-on:change="upload">点击上传
</div>
{{fileName}}
</div>
</template>
<script>
//模拟上传地址
import Mock from 'mockjs'
Mock.mock('https://www.test.com/api/upload',{}); export default {
//接受父组件传入的参数
props: {
uploadURL: {
type: String,
default: 'https://api.github.com'
}
},
data () {
return {
fileName: ''
}
},
methods: {
upload(e) {
var fileupload = e.target.files[0];
this.fileName = fileupload.name;
let a = s3.upload(fileupload,{},'https://www.test.com/api/upload');
//此处用箭头函数内部可用this,否则在外部定义that=this,使用that
a.then(res => {
// 将上传结果传回父组件中的回调函数
this.$emit('uploadstatus',res)
})
},
}
}
</script>
<style>
.file_box {
position: relative;
display: inline-block;
overflow: hidden;
margin: 0;
transition: .1s;
text-indent: 0;
line-height: 20px;
padding: 6px 16px;
font-size: 12px;
border-radius: 3px;
color: #fff;
background-color: #409eff;
border-color: #409eff;
}
.file_box input {
position: absolute;
font-size: 100px;
right: 0;
top: 0;
opacity: 0;
}
.file_box:hover {
background: #66b1ff;
border-color: #66b1ff;
color: #fff;
}
</style>
父组件中使用:
<template>
<div>
<!--上传文件组件-->
<up-load :uploadURL = '222222222222' v-on:uploadstatus="uploads" > </up-load>
</div>
</template>
<script>
//上传文件
import upLoad from './../components/upLoad.vue'
export default {
name: 'Home',
data () {
return {
uoloadstatus:''
}
},
methods: {
//上传文件组件
uploads:function (res) {
// 接收从子组件传过来的当前对象
console.log(res);
},
},
components: {
upLoad
}
}
</script>
vue全局组件-父子组件传值的更多相关文章
- 【Vue】Vue中的父子组件通讯以及使用sync同步父子组件数据
前言: 之前写过一篇文章<在不同场景下Vue组件间的数据交流>,但现在来看,其中关于“父子组件通信”的介绍仍有诸多缺漏或者不当之处, 正好这几天学习了关于用sync修饰符做父子组件数据双向 ...
- 【Vue】利用父子组件间通信实现一个场景
组件间通信是组件开发的,我们既希望组件的独立性,数据能互不干扰,又不可避免组件间会有联系和交互. 在vue中,父子组件的关系可以总结为props down,events up: 在vue2.0中废弃了 ...
- vue中的父子组件相互调用
vue中的父子组件相互调用: 1.vue子组件调用父组件方法:子组件:this.$emit('xx'); 父组件:定义yy方法,并在引用子组件时传参,如@xx="yy" 2.vue ...
- vue组件-构成组件-父子组件相互传递数据
组件对于vue来说非常重要,学习学习了基础vue后,再回过头来把组件弄透! 一.概念 组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模版中使用了组件 B . 它们之间必然需要相互通信 ...
- vue组件父子组件传递引用类型数据
今天在写分页功能时,发现父子组件传值时,子组件监听不到父组件中数据的变化,传递的是一个引用类型的数据 其原因是引用类型共用一个内存地址,父子组件用的是同一个对象,故子组件监听不到变化,此时就需要做一个 ...
- Vuejs——(10)组件——父子组件通信
版权声明:出处http://blog.csdn.net/qq20004604 目录(?)[+] 本篇资料来于官方文档: http://cn.vuejs.org/guide/components ...
- vue的prop父子组件传值
props down, events up 父组件通过 props 向下传递数据给子组件:子组件通过 events 给父组件发送消息. 静态 props 要让子组件使用父组件的数据,需要通过子组件的 ...
- vue简单的父子组件之间传值
todo-list为例子: 代码: 父传子--------------属性 v-bind 子传父--------------$emit <!DOCTYPE html> <html ...
- React对比Vue(04 父子组件的通信 )
跟vue差不多 都是props,但是react里面不仅可以给子组件传值,还可以传方法,MD尽然还可以把自己传给子组件,(卧槽vue可没有这个啊 ) vue的传递值差不多,传方法就不用了,子组件可以掉 ...
随机推荐
- 10个Python基础练习项目,你可能不会想到练手教程还这么有趣
美国20世纪最重要的实用主义哲学家约翰·杜威提出一个学习方法,叫做:Learning By Doing,在实践中精进.胡适.陶行知.张伯苓.蒋梦麟等都曾是他的学生,杜威的哲学也影响了蔡元培.晏阳初等人 ...
- JMeter-正则表达式(Json中取value的部分值)
2019-04-26问题:返回的json中提取短信验证码614930 { : "total":2, : "totalPage":1, : "rows& ...
- mac pro换屏指南
https://www.ifixit.com/ 该网站提供了 换屏的详细操作步骤.
- Angular5入门与搭建项目
步骤 1. 设置开发环境 在开始工作之前,你必须设置好开发环境. 如果你的电脑里没有 Node.js®和 npm,请安装它们. 请先在终端/控制台窗口中运行命令 node -v 和 npm -v, 来 ...
- java.lang.IllegalAccessError: org.apache.commons.dbcp.DelegatingPreparedStatement.isClosed()Z
做spring和mybaits整合时出现的错误,让这个问题困扰了一早上,通过查资料终于把这个问题解决了 具体问题描述: java.lang.IllegalAccessError: org.apache ...
- WebApi接口访问异常问题。尝试创建“testController”类型的控制器时出错。请确保控制器具有无参数公共构造函数
本来运行的好好的webAPI 接口突然报了个 :“尝试创建“testController”类型的控制器时出错.请确保控制器具有无参数公共构造函数” 错误.耗了半宿最终解决了, 原因: api控制器中引 ...
- 装饰者模式 Decorator
项目:咖啡计费系统 背景:现有系统中有一个抽象类Beverage,有2个抽象方法GetDescription和Cost. namespace DecoratorPattern { /// <su ...
- Linux 故障问题处理
一. Debian 网卡问题 原因: 网卡提示 Device Not Managed 处理方法: . 编辑/etc/NetworkManager/NetworkManager.conf: 将其 ...
- sys模块
#python run_case.py #在terminal中执行.py文件 在terminal中执行.py文件: 注: 无法使用terminal来打开那个文件 会显示如下:python: can't ...
- JavaScript--鼠标滚动改变图片大小
鼠标滚动改变图片的大小: 原理:当鼠标滚动时改变了zoom的值: <!DOCTYPE HTML> <html> <head> <title>通过鼠标滚轮 ...