所以我想要做的是顯示我的加載指令,當我點擊生成按鈕,並在報告完成時隱藏加載指令。由於visualize.js有一個「reportCompleted」事件我更新我的抓取變量爲false以隱藏加載指令。更新變量時傳遞到visualizejs方法angularjs
<button class="btn btn-default" data-ng-click="vm.generateReport(filter)">Generate</button>
<div class="text-center info-message" data-ng-show="vm.fetching">
<loading message="Fetching report..."></loading message>
<span>{{vm.fetching}}</span>
</div>
這裏是我的控制器內:
var self = this;
// this is declared on top as default variable
self.fetching = false;
這是被調用來顯示加載指令和報告方法
function generateReport (filterData) {
// show loading directive
self.fetching = true;
v('#report').report({
'resource' : '/public/Samples/Reports/01._Geographic_Results_by_Segment_Report',
'container' : '#report',
'error' : handleError,
'events': {
'reportCompleted' : function(status) {
self.fetching = true;
if(status === 'ready') {
// hide loading directive
self.fetching = false;
self.reportRendered = true;
}
}
}
});
});
}
我的問題是什麼,即使我已經在事件監聽器'reportCompleted'中更新了我的抓取變量,它仍然不隱藏我的加載指令。我嘗試了visualize方法外的console.log(self.fetching),它返回true而不是它應該返回false。這是爲什麼發生?
你檢查了狀態的值嗎?或條件得到執行? – vignesh
如果報告呈現正確,狀態值爲'ready' –