1:定义组javascript
<template> <view class="app-loading-container" style="{{options.cssText}}" wx:if="{{options.visible}}"> <image mode="aspectFit" src="{{appLoading}}" class="app-loading-img animated {{options.className}}"></image> </view> </template> <script> import wepy from 'wepy'; export default class Loading extends wepy.component { data = { options: { className: '',//动画类名 visible: false,//显示或是隐藏 cssText: ''//须要时候,控制样式 }, appLoading: '../../static/images/public/loading.gif' } show(cssText = '') { this.options.visible = true; this.options.cssText = cssText; this.options.className = 'fadeIn'; this.$apply(); wepy.hideLoading(); }; hide(cssText = '') { this.options.cssText = cssText; this.options.className = 'fadeOut'; this.$apply(); this._out(); }; _out() {//复位 setTimeout(() => { this.options.visible = false; this.$apply(); }, 1000); } } </script>
2:页面引用组件css
import Loading from 'component/loading/Loading';
3:挂载java
...
components = { Loading, };
...
4:模板上使用 loading 组件app
<template> <view class="container">
... <!-- 加载动画 --> <Loading/> ... </view> </template>
5:调用组件async
...
async onLoad() { //显示 this.$invoke('Loading', 'show'); };
//这样就能够根据本身的需求控制 loading 组件
...
五个步骤,是从定义到使用的流程,这种没有像 alert 组件由回调,定义组件简单,下次就开始定义alert confirm 组件的文章ide