全局组件注册方式: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全局组件-父子组件传值的更多相关文章

  1. 【Vue】Vue中的父子组件通讯以及使用sync同步父子组件数据

    前言: 之前写过一篇文章<在不同场景下Vue组件间的数据交流>,但现在来看,其中关于“父子组件通信”的介绍仍有诸多缺漏或者不当之处, 正好这几天学习了关于用sync修饰符做父子组件数据双向 ...

  2. 【Vue】利用父子组件间通信实现一个场景

    组件间通信是组件开发的,我们既希望组件的独立性,数据能互不干扰,又不可避免组件间会有联系和交互. 在vue中,父子组件的关系可以总结为props down,events up: 在vue2.0中废弃了 ...

  3. vue中的父子组件相互调用

    vue中的父子组件相互调用: 1.vue子组件调用父组件方法:子组件:this.$emit('xx'); 父组件:定义yy方法,并在引用子组件时传参,如@xx="yy" 2.vue ...

  4. vue组件-构成组件-父子组件相互传递数据

    组件对于vue来说非常重要,学习学习了基础vue后,再回过头来把组件弄透! 一.概念 组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模版中使用了组件 B . 它们之间必然需要相互通信 ...

  5. vue组件父子组件传递引用类型数据

    今天在写分页功能时,发现父子组件传值时,子组件监听不到父组件中数据的变化,传递的是一个引用类型的数据 其原因是引用类型共用一个内存地址,父子组件用的是同一个对象,故子组件监听不到变化,此时就需要做一个 ...

  6. Vuejs——(10)组件——父子组件通信

    版权声明:出处http://blog.csdn.net/qq20004604   目录(?)[+]   本篇资料来于官方文档: http://cn.vuejs.org/guide/components ...

  7. vue的prop父子组件传值

    props down, events up 父组件通过 props 向下传递数据给子组件:子组件通过 events 给父组件发送消息. 静态 props 要让子组件使用父组件的数据,需要通过子组件的 ...

  8. vue简单的父子组件之间传值

     todo-list为例子: 代码: 父传子--------------属性  v-bind 子传父--------------$emit <!DOCTYPE html> <html ...

  9. React对比Vue(04 父子组件的通信 )

    跟vue差不多 都是props,但是react里面不仅可以给子组件传值,还可以传方法,MD尽然还可以把自己传给子组件,(卧槽vue可没有这个啊 )  vue的传递值差不多,传方法就不用了,子组件可以掉 ...

随机推荐

  1. 连接oracle数据库

    一.连接oracle数据库 一.windows环境 oracle windows客户端下载地址:http://www.oracle.com/technetwork/topics/winx64soft- ...

  2. 出现error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    查看自己python的版本,然后下载自己版本Python的devel,比如python3.6.8就是 sudo apt-get install python3.6-dev

  3. 【Bad Practice】12306 query

  4. 学习animate.css包含了一组炫酷、有趣、跨浏览器的动画

    1.animate.css包含了一组炫酷.有趣.跨浏览器的动画,可以在你的项目中直接使用. 第一步:引入animate.css样式文件或者引入某些平台的CDN文件: <head> < ...

  5. js添加和删除class

    原生主要有三种方法: 1.className var DomClass = document.getElementById("id").className; //删除 pat Do ...

  6. python类与对象-如何为创建大量实例节省内存

    如何为创建大量实例节省内存 问题举例 在网络游戏中,定义玩家类Player(id, name, level...), 每个玩家在线将创建一个Player实例,当在线人数很多时,将产生大量实例, 如何降 ...

  7. window安装pycharm Django

    pycharm 安装Pycharm  直接在官网下载就可以,这里说一下如何破解注册码的问题: 修改电脑中hosts文件(地址: C:\Windows\System32\drivers\etc ),改变 ...

  8. RoboMongo命令(版本:Robo 3T 1.1.1)

    查询并排序db.getCollection('working_history').find({"identification" : "76170178"}).s ...

  9. Beautiful Soup 解析html表格

    from bs4 import BeautifulSoup import urllib.request doc = urllib.request.urlopen('http://www.bkzy.or ...

  10. class多态

    多态代码实现: class Animal(object): def __init__(self, name): # Constructor of the class self.name = name ...