随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率低,降低维护成本。
组件化对于任何一个业务场景复杂的前端应用以及经过多次迭代之后的产品来说都是必经之路。组件化要做的不仅仅是表面上看到的模块拆分解耦,其背后还有很多工作来支撑组件化的进行,例如结合业务特性的模块拆分策略、模块间的交互方式和构建系统等等 。
本文给大家介绍的组件:
前端Vue自定义加载中loading加载结束end组件 可用于分页展示 页面加载请求,
阅读全文下载完整组件代码请关注微信公众号: 前端组件开发
效果图如下:
实现代码如下:
# cc-paging
#### 使用方法
```使用方法
<!-- 加载中用法 isLoading:是否加载 isEnd:是否结束加载 -->
<cc-paging :isLoading="true" :isEnd="false"></cc-paging>
<!-- 加载完成 isLoading:是否加载 isEnd:是否结束加载-->
<cc-paging :isEnd="true" :isLoading="false"></cc-paging>
```
#### HTML代码实现部分
```html
<template>
<view class="content">
<view style="margin-left: 20px;"> 基本用法 </view>
<!-- 加载中用法 isLoading:是否加载 isEnd:是否结束加载 -->
<cc-paging :isLoading="true" :isEnd="false"></cc-paging>
<!-- 加载完成 isLoading:是否加载 isEnd:是否结束加载-->
<cc-paging :isEnd="true" :isLoading="false"></cc-paging>
<view style="margin-left: 20px;"> 动态使用用法 </view>
<!-- 加载中用法 -->
<cc-paging :isEnd="!isLoad" :isLoading="isLoad"></cc-paging>
<button @click="changeStatusClick">切换状态</button>
</view>
</template>
<script>
export default {
data() {
return {
isLoad: true
}
},
methods: {
changeStatusClick() {
this.isLoad = !this.isLoad;
}
}
}
</script>
<style>
page {
background: white;
}
.content {
display: flex;
padding-top: 29px;
flex-direction: column;
}
</style>
```
#### 组件实现代码
```组件实现代码
<template>
<view class="paging">
<slot></slot>
<view class="loading" v-if="isLoading">
<view class="flexcenter">
<image lazyLoad src="https://qiniu-image.qtshe.com/qtsloading.gif"></image>
<view class="loadtips">加载中</view>
</view>
</view>
<view class="is-end" v-if="isEnd">我是有底线的哦~</view>
</view>
</template>
<script>
export default {
data() {
return {};
},
props: {
isEnd: {
type: Boolean,
default: false
},
isLoading: {
type: Boolean,
default: false
}
}
};
</script>
<style>
@import './index.css';
</style>
```