vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解


Posted in Javascript onMay 28, 2018

项目结构,在组件文件夹(components)下新建common文件夹,所用公用组件放里面,本例包含tips和loading两个

vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解

一、loading组件

    1.loading.vue组件内容如下:

vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解

代码:

<template>
  <div class="loading" v-show="loading">
  <img src="./loading.gif">
  </div>
 </template>
 <script>
 export default {
  name: 'loading',
  data() {
  return {
   loading: false
  }
  },
  created() {
  var that = this;
  this.bus.$on('loading', function (data) {
   that.loading = !!data;
  })
  }
 }
 </script>
 <style scoped lang="scss">
  .loading{
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 999;
  width: 100 %;
  height: 100 %;
  color: #fff;
  background - color: rgba(0, 0, 0, 0.8);
  p {
   padding: .15rem .15rem .2rem;
   color: #fff;
   font-size: .16rem;
  }
  img {
   width: .4rem;
   height: .4rem;
  }
  }
 </style>

2.app.vue中设置

vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解

<template>
 <div id="app">
 <router-view/>
 <loading></loading> 
 </div>
</template>
<script>
 import tips from '@/components/common/tips'
 import loading from '@/components/common/loading'
 export default {
  name: 'App',
  components:{tips,loading}
 }
</script>

在main.js中设置

vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解

Vue.prototype.bus = new Vue;

3.在.vue组件中使用    

// 显示loading
this.bus.$emit('loading', true);
// 关闭loading
this.bus.$emit('loading', false);

效果如下

vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解

二、tips组件

1.内容:

vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解

代码:

<template>
 <!-- 提示弹层 -->
 <div class="tips" v-show="tips.show">
 <h3>{{tips.title}}</h3> 
 </div>
</template>
<script>
 export default {
 name: 'tips',
 data (){
 return {
   // 可以根据实际情况写更复杂的弹层,根据情况扩充tips即可

  tips:{
  show:false,
  title:''
  }
 }
 },
 created () {
 this.bus.$on('tips',(data)=>{
  this.tips = data;
 })
 },
 watch:{
 // 检测tips变化,显示提示1.5s之后自动关闭,可根据实际情况自动修改时间

 tips:function(){
  if(this.tips.show){
  setTimeout( ()=>{
   this.tips.show = false;
  },1500)
  }
 }
 }
}
</script>
<style scoped lang="scss">
.tips{
 display: flex;
 justify-content: center;
 flex-direction: column;
 align-items: center;
 position: fixed;
 left: 0;
 top: 0;
 z-index: 999;
 width: 100%;
 height: 100%;
 color: #fff;
 h3{
 padding: .1rem .2rem;
 font-size: 12px;
 line-height: 12px;
 background-color: rgba(0,0,0,0.8);
 border-radius: 4px;
 }
}
</style>

2.app.vue中设置

vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解

在main.js中设置

vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解

Vue.prototype.bus = new Vue;

3.在.vue组件中使用

this.bus.$emit('tips', { show: true, title: '我是标题'})

效果:

vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解

本例使用的tips内容比较简单,想实现复杂的扩充即可,实现方法是一样的

其他公共组件实现方法类似

总结

以上所述是小编给大家介绍的vue-cli项目中使用公用的提示弹层tips或加载loading组件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Moment.js 不容错过的超棒Javascript日期处理类库
Apr 15 Javascript
js获得地址栏?问号后参数的方法
Aug 08 Javascript
c#+jquery实现获取radio和checkbox的值
Sep 12 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
Dec 07 Javascript
JS DOMReady事件的六种实现方法总结
Nov 23 Javascript
JavaScript中String对象的方法介绍
Jan 04 Javascript
jQuery EasyUi 验证功能实例解析
Jan 06 Javascript
你不知道的 javascript【推荐】
Jan 08 Javascript
Bootstrap响应式表格详解
May 23 Javascript
JS SetInterval 代码实现页面轮询
Aug 11 Javascript
Vue实现腾讯云点播视频上传功能的实现代码
Aug 17 Javascript
Vue实现购物小球抛物线的方法实例
Nov 22 Vue.js
jQuery实现图片上传预览效果功能完整实例【测试可用】
May 28 #jQuery
JavaScript继承定义与用法实践分析
May 28 #Javascript
关于jquery中attr()和prop()方法的区别
May 28 #jQuery
JS数组去重常用方法实例小结【4种方法】
May 28 #Javascript
jQuery中将json数据显示到页面表格的方法
May 27 #jQuery
javascript少儿编程关于返回值的函数内容
May 27 #Javascript
《javascript少儿编程》location术语总结
May 27 #Javascript
You might like
PHP 中的类
2006/10/09 PHP
PHP date函数参数详解
2006/11/27 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
thinkphp如何获取客户端IP
2015/11/03 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
2015/01/28 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
Popup弹出框添加数据实现方法
2017/10/27 Javascript
基于Vue实现微信小程序的图文编辑器
2018/07/25 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
利用JavaScript将Excel转换为JSON示例代码
2019/06/14 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
js实现轮播图效果 z-index实现轮播图
2020/01/17 Javascript
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
Django对models里的objects的使用详解
2019/08/17 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
django实现将修改好的新模型写入数据库
2020/03/31 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
使用Python封装excel操作指南
2021/01/29 Python
英国领先的运动物理治疗供应公司:Vivomed
2018/07/14 全球购物
开放系统互连参考模型
2016/06/29 面试题
医药个人求职信范文
2014/01/29 职场文书
表彰先进的通报
2014/01/31 职场文书
国贸专业自荐信范文
2014/03/02 职场文书
交通事故私了协议书
2014/04/16 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
授权委托书格式范文
2014/08/02 职场文书
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android