联署材料:
function OrderFormController($scope, $http) {
$scope.sampleJSON = [];
$scope.sampleJSONDuplicates = [];
oboe('/getPMDResultsByDateAndSeverity')
.done(function(data) {
$scope.sampleJSON.push(data.pmdStructureWrapper);
$scope.sampleJSONDuplicates.push(data.pmdDuplicates);
})
.fail(function() {
console.log('error');
});
}html:
<body ng-app ng-controller="OrderFormController">
<div class="splash" ng-cloak="">
<h2>Please wait, Loading Review Result</h2>
</div>
<div class="col-md-12 col-lg-12" ng-cloak="">
<div class="panel with-nav-tabs panel-default">
<div class="panel-heading">
<ul class="nav nav-tabs">
<li class="active"><a href="#tab1default" data-toggle="tab">Classes</a></li>
</ul>
</div>
<div class="panel-body">
<div class="tab-content">
<div class="tab-pane fade in active" id="tab1default">
<ul class="col-md-12 col-lg-12">
<li ng-click="showErrorDetails(key)" class="col-sm-12 col-md-4 col-lg-4 eachClassCell"
ng-repeat='(key,value) in sampleJSON'>
<div ng-if="key.indexOf('.cls') > -1">
<div title="{{key}}" class="classNameLabel">{{key}}</div>
<div title="Error count" class="errorContainer">
<span class="errorCount">{{value.pmdStructures.length}}</span>
<span class="errorMeter"
ng-repeat="eachClass in value.pmdStructures | limitTo: 10"></span>
</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
<form>
</form>
<footer>
<p>Salesforce Free Code Review, Copyright © 2017</p>
<p>Contact Us : <a href="mailto:****">Mail Us</a>
</p>
</footer>
<script type="application/javascript">
$(function() {
$('.panel-body li').each(function() {
if($.trim($(this).text()) === "") {
$(this).hide();
}
});
});
</script>
</body>该页不呈现任何内容。我遗漏了什么吗?我知道页面在结果之前呈现,但是如何重新呈现呢?我必须保持它的异步,因为当我在heroku中托管我的应用程序时,调用会超时(30万my ),如果我使用ajax中的异步false:
var jsonData = $.ajax({
url: "/getPMDResultsByDateAndSeverity",
dataType: "json",
crossDomain: true,
async: false
}).responseText;而且,它总是耗尽堆内存,就像我使用异步false时一样。我已经修改了服务器端,使其在最佳水平上执行。使用异步假: c.****.algo.MetadataLoginUtil :总时间为26825
在使用异步true之后:我认为oboe.js内部是这样做的:
c.****.algo.MetadataLoginUtil :总时间为6321
以上是从服务器端获取响应所需的时间。
发布于 2018-04-08 10:06:43
您需要在$scope.$apply()的末尾调用done()。
因为调用是异步的,而双簧管不连接到角的作用域框架,因此角将不知道页面需要在收到ajax响应后重新呈现。
$scope.$apply()告诉角范围已经改变,因此刷新页面显示。This question and answer更详细地解释了这一点。
https://stackoverflow.com/questions/49716557
复制相似问题