typescript - 加载动画,直到数据加载到 Typescript (ionic)
问题描述
我想在项目加载之前向屏幕添加动画。
constructor(
public platform: Platform,
private network: NetworkService,
public navContrl: NavController,
public modalCtrl: ModalController
) {
this.loadProjects();
this.admin = this.network.isUserAdmin();
}
loadProjects() {
this.network.getAllProjects()
.then(projects => this.projs = projects)
.catch(err => this.logout());
}
我的第一个想法是实现一个 settimeout,这是最坏的解决方案。有没有解决这个问题的好方法?
解决方案
您需要导入加载器并根据您的异步代码使用它:
import { LoadingController, ModalController, Platform } from "ionic-angular";
// add your further imports here...
constructor(
public platform: Platform,
private network: NetworkService,
public navContrl: NavController,
public modalCtrl: ModalController,
// inject it:
public loadingCtrl: LoadingController
) {
this.loadProjects();
this.admin = this.network.isUserAdmin();
}
loadProjects() {
// start loader:
let loading = this.loadingCtrl.create({
content: 'Please wait...'
});
loading.present();
this.network.getAllProjects()
.then((projects) => {
this.projs = projects;
loading.dismiss();
})
.catch(err => this.logout());
}
不确定您是否在案例中发布了完整的代码示例。所以我希望这会有所帮助。在此处查看用法:https ://ionicframework.com/docs/api/components/loading/LoadingController/
推荐阅读
- python - 如何将每个 Parquet 行组读入单独的分区?
- azure - Azure 策略 - Cosmos DB SQL(核心)API - 将 RU(吞吐量)限制为不超过 500
- ruby-on-rails - 会话中发生 ActionView::Template::Error #new:activeadmin 找不到文件“active_admin/nested_menu_arrow.gif”
- c - 如何更改 openGL 绘图的当前窗口(linux 和 GLX)
- javascript - 使用 visjs 时间线,如何获取时间线中放置的范围项目的开始时间(我将其放置在哪里)
- java - 已经使用 springSecurityFilterChain 构建了异常
- node.js - 安装节点 sass 给出错误消息
- graph - 如何将 Redisgraph 转换为 networkx 图以用于 Node2vec 算法?
- azure - 查询受带宽 cosmos db 限制
- java - Minecraft Forge 取消事件/不通知服务器