Java Angularjs如何仅在调用init方法后加载div内容
我不熟悉AngularJs,最初是在页面加载时,即在处理loadResponseData()时,我需要显示进度div,在ajax调用完成后,需要显示带有响应数据的成功div。但成功并没有显现出来 loadResponseData()完成后。在完成ajax调用之前是否有任何方法显示进度条,并且在收到来自ajax调用的响应之后应该显示success div。对不起,我的英语不好,请挽救我的一天Java Angularjs如何仅在调用init方法后加载div内容,java,angularjs,spring-mvc,Java,Angularjs,Spring Mvc,我不熟悉AngularJs,最初是在页面加载时,即在处理loadResponseData()时,我需要显示进度div,在ajax调用完成后,需要显示带有响应数据的成功div。但成功并没有显现出来 loadResponseData()完成后。在完成ajax调用之前是否有任何方法显示进度条,并且在收到来自ajax调用的响应之后应该显示success div。对不起,我的英语不好,请挽救我的一天 <% PayBean payBean = (PayBean) session.getAttribut
<%
PayBean payBean = (PayBean) session.getAttribute("payData");
%>
<div ng-controller="payCtrl" ng-init="loadResponseData()" id="loadResponseData">
<div class="row">
<div class="col-12 col-md-12 col-sm-12 col-lg-8">
<form id="response">
<div class="row row-space" ng-if="status=='success'">
// load response data in elements
</div>
<div class="row row-space" ng-if="status=='progress'">
// Progress bar takes place
</div>
</form>
</div>
<div>
因为您使用的是
ng if
指令,它会创建新的作用域,因此状态不可见。尝试使用controllerAs
语法或使用ng hide
或ng show
指令
试试这个
<div ng-controller="payCtrl as vm" ng-init="vm.loadResponseData()" id="loadResponseData">
<div class="row">
<div class="col-12 col-md-12 col-sm-12 col-lg-8">
<form id="response">
<div class="row row-space" ng-if="vm.status=='success'">
// load response data in elements
</div>
<div class="row row-space" ng-if="vm.status=='progress'">
// Progress bar takes place
</div>
</form>
</div>
<div>
因为您使用的是
ng if
指令,它会创建新的作用域,因此状态不可见。尝试使用controllerAs
语法或使用ng hide
或ng show
指令
试试这个
<div ng-controller="payCtrl as vm" ng-init="vm.loadResponseData()" id="loadResponseData">
<div class="row">
<div class="col-12 col-md-12 col-sm-12 col-lg-8">
<form id="response">
<div class="row row-space" ng-if="vm.status=='success'">
// load response data in elements
</div>
<div class="row row-space" ng-if="vm.status=='progress'">
// Progress bar takes place
</div>
</form>
</div>
<div>
在此处尝试此示例
$timeout
指令替换为$http
,如果
var-app=angular.module('app',[]);
app.controller('payCtrl',函数($timeout,$scope){
$scope.status=“progress”;//默认设置为progress
$scope.loadResponseData=函数(){
console.log(“yescalled”);
$timeout(函数(){
$scope.status=“成功”;
},2000);
}
});代码>
已加载成功代码
已加载进度代码
在此处尝试此示例$timeout
指令替换为$http
,如果
var-app=angular.module('app',[]);
app.controller('payCtrl',函数($timeout,$scope){
$scope.status=“progress”;//默认设置为progress
$scope.loadResponseData=函数(){
console.log(“yescalled”);
$timeout(函数(){
$scope.status=“成功”;
},2000);
}
});代码>
已加载成功代码
已加载进度代码
什么是状态
?您在何处声明了它?它在angularjs控制器的loadResponseData方法中声明,因为您使用的是ng,如果指令创建了新的范围,则状态不可见。尝试使用controllerAs语法或使用ng hide
或ng show
指令.Hadi。。我最初可以获得进展状态。。但是在ajax方法loadResponseData完成后,页面没有刷新,状态是什么?您在何处声明了它?它在angularjs控制器的loadResponseData方法中声明,因为您使用的是ng,如果指令创建了新的范围,则状态不可见。尝试使用controllerAs语法或使用ng hide
或ng show
指令.Hadi。。我最初可以获得进展状态。。但是在ajax方法loadResponseData完成后,页面没有刷新Hadi,在loadResponseData调用后是否能够获得更新的payBean?我们可以使用新的视图jsp进行加载,并在rloadResponseData loadedHadi之后重定向到USAccess页面,调用loadResponseData后是否能够获得更新的payBean我们是否可以使用新的视图jsp进行加载,并在rloadResponseData loadedJignesh后重定向到USAccess页面,在调用loadResponseData后是否能够获得更新的payBean,在调用loadResponseData后是否能够获得更新的payBean
var vm = this;
vm.loadResponseData = function() {
vm.post(contextRoot + getResponseData(function(data) {
var status = sessionStorage.getItem("status");
vm.status = status ;
sessionStorage.setItem('data', JSON.stringify(data));
});
};