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