显示“正在加载”Div元素,直到列表已加载,然后隐藏Div元素
Show a "loading..." div element until list has loaded and then hide the div element
我在一个移动应用程序中有一个angularJs/firebase列表,它需要几秒钟才能加载。我想在那里放一个简单的div,说"列表正在加载…",直到列表已经加载了项目。
我知道我必须使用ng-hide/ng-show方法,但我不知道该使用哪个表达式。我的列表在一个div内,而我的"Loading…"文本在另一个div中。我如何告诉"Loading…"div隐藏一旦列表被填充,而不是更早?
我知道这不是正确的做法,但它很简单,因为我所要做的就是隐藏一个元素并显示另一个。Beats使用某种形式的超时功能,这有时是不可预测的。至少这样,我确信用户不会感到困惑,直到列表实际加载。他们会知道正在加载
我使用离子框架,因此使用离子含量标签。
<ion-content id="content">
<div class="" ng-hide="loaded">
"Loading...."
</div>
<ion-list show-delete="data.showDelete"
show-reorder="data.showReorder" ng-model="loaded">
<ion-item ng-repeat="client in clients|filter:search |orderBy:'name'"
item="client"
href="#/{{client.$id}}" class="item-remove-animate">
<h2>{{client.name}}</h2>
<h4>File #: {{client.fileNumber}}</h4>
<ion-delete-button class="ion-minus-circled"
ng-click="removeClient(client)">
</ion-delete-button>
<ion-option-button class="button-assertive"
ng-click="edit(client)">
Edit
</ion-option-button>
<ion-option-button class="button-calm"
ng-click="share(client)">
Share
</ion-option-button>
<ion-reorder-button class="ion-navicon" on-reorder=
"moveItem(client, $fromIndex, $toIndex)">
</ion-reorder-button>
</ion-item>
</ion-list>
当客户端数组有内容时隐藏加载器
<div class="" ng-hide="clients.length > 0">
"Loading...."
</div>
显示客户端数组有内容时的列表
<ion-list ng-show="clients.length > 0" show-delete="data.showDelete"
show-reorder="data.showReorder" ng-model="loaded">
...
我在这种情况下使用jQuery BlockUI Plugin [http://malsup.com/jquery/block/]
要隐藏div,使用属性
<div ng-hide="..." >
你要把它和列表的加载状态绑定。
这在一定程度上取决于您如何获取数据,对于一个简单的示例,您可以像这样封装您的列表:
var mydata = {};
mydata.values = [];
mydata.loading = true;
mydata.errormsg = "";
然后当你检索你的数据,设置加载状态和/或错误信息,这样你也可以显示错误信息,如果出现问题,同样的方式,例如
<div ng-show="mydata.loading">Loading...</div>
<div ng-show="mydata.errormsg != ''">Oh no...</div>
相关文章:
- Material Design Lite所有元素加载JS回调
- Chrome扩展:等待元素加载(async js)
- 从外部页面上的元素加载属性
- 聚合物元素加载非常缓慢
- 如何禁用 HTML 锚元素加载
- 尝试将一个元素加载到另一个元素时出现意外字符串
- 用kinetijs中的所有元素加载舞台
- 在特定元素加载时调用函数
- 如何在HTML元素加载到页面之前隐藏它们
- 是否可以延迟用户访问的第一个页面上的元素加载
- Facebook喜欢按钮不显示隐藏元素加载后
- 使用SELECT元素加载图像
- 如何使Javascript只在所有元素加载后才加载
- 在另一个元素加载后隐藏一个元素?AJAX
- 谷歌翻译元素-加载后页面准备好了
- 继续尝试函数,直到所需的DOM元素加载
- 在元素加载时调用javascript函数
- 如何检测或注册自定义元素加载并准备与之交互的回调
- HTML元素加载,即使他们没有附加到DOM?那么主干视图呢?
- 等待所有元素加载完成后执行操作