Javascript 显示内容之前的模式加载
我正在使用从REST调用接收到的内容呈现引导模式,但是在内容可以填充之前呈现该模式 模态加载事件发生在按钮单击上,如果我在几秒钟后再次单击该按钮,则模态将显示填充的内容 如何延迟模式呈现,直到REST调用的内容到达 模态:Javascript 显示内容之前的模式加载,javascript,html,angularjs,twitter-bootstrap,Javascript,Html,Angularjs,Twitter Bootstrap,我正在使用从REST调用接收到的内容呈现引导模式,但是在内容可以填充之前呈现该模式 模态加载事件发生在按钮单击上,如果我在几秒钟后再次单击该按钮,则模态将显示填充的内容 如何延迟模式呈现,直到REST调用的内容到达 模态: <!--- Get Fields ---> <div class="modal fade" id="myModal" > <div class="modal-dialog modal-lg"> <div clas
<!--- Get Fields --->
<div class="modal fade" id="myModal" >
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Configure Fields</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<div class="checkbox">
<label> <strong>Show Fields</strong> </label>
<input type="checkbox" id="select_all" ng-click="multiSelectCheckBox()">
<label for="select_all">Select All</label>
</div>
</div>
<div class="col-md-6">
</div>
<hr/>
<div class="col-md-12">
<ul class="columns_3 list-unstyled" data-columns="3">
<li ng-repeat="(key,field) in fields">
<div class="checkbox">
<input type="checkbox" id="jirafield{{$index}}" name="{{key}}"
ng-checked="field.required || selectallcheckboxes || inselectedfields(field)"
ng-disabled="field.required"
ng-model="field.isActive"
ng-click="checkBoxSelect(key,field)"> <label
for="jirafield{{$index}}">{{field.name}}</label>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-info" data-dismiss="modal" ng-click="savefields()">Save</button>
<button type="button" class="btn btn-cancel" data-dismiss="modal" ng-click="clearselectedfields()">Close</button>
</div>
</div>
</div>
</div>
JS服务调用:
$scope.getfieldsfromJIRA = function(projectkey, domain, auth, username, password){
//if(!$scope.fieldssaved){
var authenticatedToken = auth +" "+ window.btoa(username+":"+password);
projectsettingsfactory.getfieldsfromJIRA(projectkey, domain, authenticatedToken).then(function successCallBack(response){
angular.forEach(response.data.projects, function(project){
angular.forEach(project.issuetypes, function(issuetype){
angular.forEach(issuetype.fields, function(field, key){
$scope.fields[key] = field;
if(field.required){
$scope.requiredfields[key] = field;
$scope.selectedfields[key] = field;
}
});
});
});
if(Object.keys($scope.fields).length === Object.keys($scope.selectedfields).length){
$scope.selectallcheckboxes = true;
}
}, function errorCallBack(response){
alerts.error("Error in finding fields");
});
}
在restapi调用的success函数中编写模式open调用。单击可以进行API调用,这样,模态肯定会有所请求的数据
setTimeout(函数(){
$('#myModal').modal();
}, 3000);代码>可以共享代码吗?$(…)。模式不是函数。出现此错误。使用它或将$更改为jQuery,这样它将使用jQuery(“#myModal”).modal();等待3秒钟实际上是非常糟糕的做法。在慢速网络或繁重的操作中,rest调用实际上可能需要更长的时间,而在快速网络中,3秒似乎是任意长的。
$scope.getfieldsfromJIRA = function(projectkey, domain, auth, username, password){
//if(!$scope.fieldssaved){
var authenticatedToken = auth +" "+ window.btoa(username+":"+password);
projectsettingsfactory.getfieldsfromJIRA(projectkey, domain, authenticatedToken).then(function successCallBack(response){
angular.forEach(response.data.projects, function(project){
angular.forEach(project.issuetypes, function(issuetype){
angular.forEach(issuetype.fields, function(field, key){
$scope.fields[key] = field;
if(field.required){
$scope.requiredfields[key] = field;
$scope.selectedfields[key] = field;
}
});
});
});
if(Object.keys($scope.fields).length === Object.keys($scope.selectedfields).length){
$scope.selectallcheckboxes = true;
}
}, function errorCallBack(response){
alerts.error("Error in finding fields");
});
}