小編給大家分享一下vue-cli項目中如何使用公用的提示彈層tips或加載loading組件,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
項目結構,在組件文件夾(components)下新建common文件夾,所用公用組件放里面,本例包含tips和loading兩個

一、loading組件
1.loading.vue組件內容如下:

代碼:
<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中設置

<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.prototype.bus = new Vue;
3.在.vue組件中使用
// 顯示loading
this.bus.$emit('loading', true);
// 關閉loading
this.bus.$emit('loading', false);效果如下

二、tips組件
1.內容:

代碼:
<template>
<!-- 提示彈層 -->
<div class="tips" v-show="tips.show">
<h4>{{tips.title}}</h4>
</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;
h4{
padding: .1rem .2rem;
font-size: 12px;
line-height: 12px;
background-color: rgba(0,0,0,0.8);
border-radius: 4px;
}
}
</style>2.app.vue中設置

在main.js中設置

Vue.prototype.bus = new Vue;
3.在.vue組件中使用
this.bus.$emit('tips', { show: true, title: '我是標題'})效果:

看完了這篇文章,相信你對“vue-cli項目中如何使用公用的提示彈層tips或加載loading組件”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。