我想有一些拦截器或某些东西显示每个请求服务器的加载微调器,我正在寻找的是它的最一般形式。我目前有一个spinner组件,其中包含视图和控制器,但我只是想知道如何为每个http请求创建这个常规,将它显示在视图中,可能在标题中或其他位置。
这是视图部分:
<aura:component >
<aura:attribute name="visible" type="Boolean" default="false"/>
<div class="{!if(v.visible, '', 'slds-hide')}">
<div class="slds-spinner_container">
<div role="status" class="slds-spinner slds-spinner_medium">
<span class="slds-assistive-text">Loading</span>
<div class="slds-spinner__dot-a"></div>
<div class="slds-spinner__dot-b"></div>
</div>
</div>
</div>
我应该以某种方式向控制器添加一些其他控制器调用它的逻辑,但我不知道并且不太确定最好的方法是什么!
对于ex,我有一些控制器调用服务器,我想以某种方式自动显示加载微调器发生此类操作时:
doInit : function(component, event, helper)
{
var getTeamAction = component.get("c.getCurrentUserTeam");
getTeamAction.setCallback(this, function(response) {
if(response)
{
var t= response.getReturnValue();
component.set("v.millTeamMembers", t);
}
else
{
console.log("Unable to getteam");
}
});
$A.enqueueAction(getTeamAction);
}
答案 0 :(得分:0)
使用此方法,每当您调用服务器时调用doShowModalProcessing(comp)方法并在获得响应后调用doHideModalProcessing(comp)。
标记:
<div aura:id="modalProcessing" class="busy-backdrop busy-backdrop--open hideDiv">
<div class="slds-spinner--brand slds-spinner slds-spinner--large" aria-hidden="false" role="alert">
<div class="slds-spinner__dot-a"></div>
<div class="slds-spinner__dot-b"></div>
</div>
</div>
帮助者:
doShowModalProcessing : function(component) {
var modal = component.find("modalProcessing");
$A.util.removeClass(modal, 'hideDiv');
},
doHideModalProcessing : function(component) {
var modal = component.find("modalProcessing");
$A.util.addClass(modal, 'hideDiv');
},
CSS:
.THIS.hideDiv {
display: none;
}