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

Apex での表示ラベルの取得

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

カスタム表示ラベル

カスタム表示ラベルには 1,000 文字の制限があり、Apex クラスからアクセスできます。カスタム表示ラベルを定義するには、[設定] から、[クイック検索] ボックスに「カスタム表示ラベル」と入力し、[カスタム表示ラベル] を選択します。

Apex クラスで、構文 System.Label.MyLabelName を使用して、表示ラベルを参照します。
1public with sharing class LabelController {
2    @AuraEnabled
3    public static String getLabel() {
4        String s1 = 'Hello from Apex Controller, ' ;
5        String s2 = System.Label.MyLabelName;
6        return s1 + s2;
7    }
8}

表示ラベルの値は、プレーンテキスト文字列として返します。$Label グローバル値プロバイダを使用して表示ラベルの式を返すことはできません。

メモ

コンポーネントは、初期化中などに要求してサーバから表示ラベルを読み込みます。たとえば、表示ラベルは 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 での表示ラベルの取得」を参照してください。