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

Apex での表示ラベルの取得

Apex コードで表示ラベルを取得し、JavaScript を使用してその表示ラベルをコンポーネントに設定できます。

カスタム表示ラベル

カスタム表示ラベルには 1,000 文字の制限があり、Apex クラスからアクセスできます。構文 Label.MyLabelName を使用して、静的表示ラベルを定義できます。コンポーネントは、初期化中などに要求してサーバから表示ラベルを読み込みます。次に例を示します。

1public with sharing class LabelController {
2    @AuraEnabled
3    public static String getLabel() {
4        String s1 = 'Hello from Apex Controller, ' ;
5        String s2 = Label.MyLabelName;
6        return s1 + s2;
7    }
8}
JavaScript コードで表示ラベルが取得されます。
1({
2    doInit : function(component, event, helper) {
3        var action = component.get("c.getLabel");
4        action.setCallback(this, function(response) {
5            var state = response.getState();
6            if (state === "SUCCESS") {
7                component.set("v.mylabel", response.getReturnValue());
8            }
9            // error handling when state is "INCOMPLETE" or "ERROR"
10         });
11         $A.enqueueAction(action);
12    }
13})

最後に、Apex クラスがコンポーネントに結び付けられていることを確認します。表示ラベルは、初期化中にコンポーネントで設定されます。

1<aura:component controller="LabelController">
2    <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
3    <aura:attribute name="mylabel" type="String"/>
4    {!v.mylabel}
5</aura:component>

表示ラベルの値を渡す

式の構文 !{v.mylabel} を使用して、表示ラベルの値を渡します。String 属性にデフォルト値を指定する必要があります。使用事例に応じて、デフォルト値はデフォルト言語の表示ラベルであったり、実行時まで特定の表示ラベルが不明な場合は 1 文字の空白であったりします。

1<aura:component controller="LabelController">
2    <aura:attribute name="mylabel" type="String" default=" "/>
3    <lightning:input name="mytext" label="{!v.mylabel}"/>
4</aura:component>

JavaScript コードで、実行時に生成される表示ラベルの動的な作成を含み、表示ラベルを取得することもできます。詳細は、「JavaScript での表示ラベルの取得」を参照してください。