全局组件注册方式: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. Python 多进程和进程池

    一,前言 进程:是程序,资源集合,进程控制块组成,是最小的资源单位 特点:就对Python而言,可以实现真正的并行效果 缺点:进程切换很容易消耗cpu资源,进程之间的通信相对线程来说比较麻烦 线程:是 ...

  2. ==还款-代偿(csv循环自动代偿)

    问题: 解决:传递参数错误,上一步就错了 问题:代偿返回这些信息 解决:传递参数错误,应该为${repayWay1},但是一直写的是${repayWay} 问题:如何从csv文件中逐条取项目编号,进行 ...

  3. vuepress 学习心得

    vuepress是一个静态网站生成器,在我看来就是写博客和教程的好工具.教程请见官网:https://www.vuepress.cn 安装方法建议局部安装:node8.0以上,新建vue项目,可能会出 ...

  4. html5 css练习 画廊 元素旋转

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  5. Aes CBC加密

    <?php namespace app\components; use yii; class Aes { /** * This was AES-128 / CBC / PKCS5Padding ...

  6. DataGridView 列排序 内存表查找

    DataRow[] drow = dt.Select("列名 = 列名的值" ); 就这句话,dt是一个datatable 且断点调试时能看到里面有trade这个列,可为什么执行到 ...

  7. 解决mysql连接报“Communications link failure”错误

    <!--定义在从数据库获取新连接失败后重复尝试的次数.默认值: 30 :小于等于0表示无限次--> <property name="acquireRetryAttempts ...

  8. CCF CSP 201703-1 分蛋糕

    题目链接:http://118.190.20.162/view.page?gpid=T57   问题描述 试题编号: 201703-1 试题名称: 分蛋糕 时间限制: 1.0s 内存限制: 256.0 ...

  9. 配置React Native 安卓开发环境

    配置主要分为以下几步: 安装node.js 安装AndroidStudio 安装React Native命令行工具 搭建React Native版本的Hello World,修改代码查看效果 第一步 ...

  10. 如何在Linux 中获取硬盘分区或文件系统的UUID?

    作为一个 Linux 系统管理员,你应该知道如何去查看分区的 UUID 或文件系统的 UUID.因为现在大多数的 Linux 系统都使用 UUID 挂载分区.你可以在 /etc/fstab 文件中可以 ...