この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

コンポーネントの初期化時のアクションの呼び出し

コンポーネントを構築してから表示するまでの間にコンポーネントを更新したり、イベントを起動したりできます。

コンポーネントのソース

1swfobject.registerObject("clippy.codeblock-0", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<aura:component>
18    <aura:attribute name="setMeOnInit" type="String" default="default value" />   
19    <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
20    
21    <p>This value is set in the controller after the component initializes and before rendering.</p>   
22    <p><b>{!v.setMeOnInit}</b></p>
23    
24</aura:component>
25

クライアント側コントローラのソース

1swfobject.registerObject("clippy.codeblock-1", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17({
18    doInit: function(cmp) {
19        // Set the attribute value. 
20        // You could also fire an event here instead.
21        cmp.set("v.setMeOnInit", "controller init magic!");
22    }
23})
24

コンポーネントのソースを見て、どのように機能するのかを確認しましょう。重要なのは次の行です。

1swfobject.registerObject("clippy.codeblock-2", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<aura:handler name="init" value="{!this}" action="{!c.doInit}"/>

これで、コンポーネントの init イベントハンドラが登録されます。init は、すべてのコンポーネントに送信される定義済みイベントです。コンポーネントが初期化されたら、コンポーネントのコントローラで doInit アクションがコールされます。このサンプルでは、コントローラアクションで属性値を設定していますが、イベントの起動などの処理を実行することもできます。

value="{!this}" を設定すると、これ自体が値のイベントとしてマークされます。init イベントでは、常にこの設定を使用する必要があります。