前两篇分别介绍了Component类以及Event类,此篇将会说一下 $A , Action以及 Util。
一. Action
Action类通常用于和apex后台交互,设置参数,调用后台以及对结果进行处理。可以通过component.get("c.functionName")创建一个action类的变量,functionName对应后台@AuraEnabled声明的方法。通过$A.enqueueAction可以将action加入队列中等待执行。

常用方法如下:
1.setParam (string key,Object value): 为这个Action设置单一的参数,此参数应该和后台apex中的参数名称一致;
2.setParams (Object config): 为这个Action设置一组参数,这组参数的名称应该和后台apex中的参数名称一致;
3.getName ():获取Action的Name。比如 var action = component.get("c.functionName"); 则此函数返回functionName;
4.getReturnValue ():获取Action从server端返回的response;
5.isBackground (): 判断当前的action在队列中是前台执行还是后台执行,后台执行返回true,前台返回false;
6.getError ():返回一组错误信息;
7.setCallback (Object scope,function callback,String name):当server端action返回以后,callback action将会被执行。方法有三个参数:
- scope:方法被执行的作用域,通常设置为this;
 - callback:当server端action完成后,会调用这个callback函数。这个callback函数可以在显示阶段中注册,通常判断的显示阶段有三种:SUCCESS/ERROR/INCOMPLETE。通常 getError()方法和ERROR这种阶段结合来用;
 
Demo 举例:
1. TestActionController: 声明一个server端方法,用于component初始化调用;
public class TestActionController { @AuraEnabled public static String initData(String testParam) { return 'For test response : ' + testParam; } }
2. TestAction.cmp:初始化调用doInit方法对attribute进行初始化;
<aura:component controller="TestActionController" implements="flexipage:availableForAllPageTypes"> <aura:handler name="init" value="{!this}" action="{!c.doInit}"/> <aura:attribute name="testAttribute" type="String" description="test description"/> {!v.testAttribute} </aura:component>

