如何用ajax angular加载部分页面
How to load the page in partials with ajax angular
我试图显示每个容器的加载器,使ajax调用并获得内容。
我需要在两个div列中首先显示加载器,然后一旦ajax调用成功,我需要隐藏特定列div的加载器,其ajax调用是成功的。
我已经试过了,但是没有成功。
预期输出:所以在页面加载时,两个div应该用旋转器填充,然后一旦特定的div ajax调用成功,那么该特定div的旋转器应该隐藏,这应该对其他div也重复。
这是我尝试过的:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.0/css/bootstrap-combined.min.css" rel="stylesheet">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.js"></script>
<script src="script.js"></script>
</head>
<body ng-app="myApp" ng-controller="myController">
<!-- <div class="loading-spiner-holder" data-loading><div class="loading-spiner"><img src="http://www.nasa.gov/multimedia/videogallery/ajax-loader.gif" width="20" height="20" /></div></div>
-->
<ul ng-repeat="col in column">
<li>{{col.name}}</li>
</ul>
<ul ng-repeat="col2 in column2">
<li>{{col2.name}}</li>
</ul>
</body>
</html>
演示如前所述,使用ng-show
或ng-hide
将满足您的需要。顺便说一句,你说的是DIV
,但HTML
代码中没有DIV
。下面是一个示例,说明如何在不使用任何Directives
的情况下实现它。
.controller('myController', function($scope, $http) {
//define boolean value for your columns : true=show false=hide
// this will show the spinner on page load
$scope.ui = {
showSpinnerCol1 : true,
showSpinnerCol2 : true
}
$scope.column = []; $scope.column2 = [];
$http.get('test.json')
.success(function(data) {
$scope.column = data[0].column;
$scope.ui.showSpinnerCol1 = false; //hide spinner1 when ajax is done.
});
$http.get('test1.json')
.success(function(data) {
$scope.column2 = data[0].column2;
$scope.ui.showSpinnerCol2 = false;//hide spinner2 when ajax is done.
});
});
<div>
<div ng-show="ui.showSpinnerCol1" class="loading-spiner">
<img src="http://www.nasa.gov/multimedia/videogallery/ajax-loader.gif" width="20" height="20" />
</div>
<ul ng-repeat="col in column">
<li>{{col.name}}</li>
</ul>
</div>
<div>
<div ng-show="ui.showSpinnerCol2" class="loading-spiner">
<img src="http://www.nasa.gov/multimedia/videogallery/ajax-loader.gif" width="20" height="20" />
</div>
<ul ng-repeat="col2 in column2">
<li>{{col2.name}}</li>
</ul>
</div>
相关文章:
- 在第一页加载时隐藏字段,而不是在php发布之后
- 在新表单上使用JavaScript创建多个共享点项目,但将下一页加载延迟到全部创建
- JS文件未加载第一页加载
- 如何在第一页加载时使jQuery弹出消息
- 第一页加载时,有角度的ng网格固定标题不是静态的
- 链接在第一页加载时瞬间变蓝
- 通过将$resource查询数组添加到AngularJS中另一个数组的底部来进行分页加载
- 为什么 Java 脚本单击事件在第一页加载时没有触发
- 在第一页加载时加载服务
- 减少 Angular JS 中的分页加载时间
- Nivo滑块在第一页加载时不显示图像,但在刷新时加载
- 如何根据所选选项将 JSP 页加载到同一 JSP 页中
- 获取下一页加载的进度
- 第一页加载时的引导模式
- 第二页加载时出现Safari缓存问题
- 使用jQuery检测第一页加载
- 通过导航栏中的单个播放按钮,在电子书中的每一页加载音频文件
- Jquery只适用于第一页加载(ajax异教)
- 第一页加载时出现白色闪光:这个问题可以“修复”吗?
- 在第二页加载时获取本地存储数据