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

コンポーネントの属性

コンポーネントの属性は、Apex のクラスのメンバー変数に似ています。これらは型付けされた項目で、コンポーネントの特定のインスタンスに設定されており、式の構文を使用したコンポーネントのマークアップ内から参照できます。属性を使用すると、コンポーネントをより動的に扱うことができます。

属性をコンポーネントまたはアプリケーションに追加するには、<aura:attribute> タグを使用します。次のサンプル helloAttributes.app を見てみましょう。

1swfobject.registerObject("clippy.codeblock-0", "9");
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17<aura:application>
18    <aura:attribute name="whom" type="String" default="world"/>
19    Hello {!v.whom}!
20</aura:application>
21
22

すべての属性には名前と型があります。属性には、required="true" を指定して必須としてマークできます。デフォルト値を指定することもできます。

このサンプルには、whom という名前の文字列型の属性があります。値が指定されない場合は、デフォルトの「world」になります。

厳格な要件ではありませんが、<aura:attribute> タグは通常、コンポーネントのマークアップの先頭に置きます。こうすることで、コンポーネントの形状を一目で簡単に参照できるためです。

属性名の先頭文字は、英字またはアンダースコアにする必要があります。2 文字目以降には数字やハイフンも使用できます。

式にはハイフンを含む属性は使用できません。たとえば、cmp.get("v.name-withHyphen") はサポートされますが、<ui:button label="{!v.name-withHyphen}"/> はサポートされません。

メモ

ここで、?whom=you を URL に追加して、ページを再読み込みします。クエリ文字列の値によって、whom 属性の値が設定されます。コンポーネントを要求するときにクエリ文字列で属性値を指定すると、そのコンポーネントの属性を設定することができます。

これは文字列型の属性でのみ機能します。

警告

helloAttributes.app には、コンポーネントの動的出力を担う式 {!v.whom} が含まれます。

{!expression} はフレームワークの式の構文です。この場合、評価する式は v.whom です。定義した属性の名前が whom で、v が、ビューを表すコンポーネントの属性セットに値を提供します。

式では、大文字と小文字が区別されます。たとえば、myNamespace__Amount__c というカスタム項目は、{!v.myObject.myNamespace__Amount__c} として参照する必要があります。

メモ

属性の検証

helloAttributes.app に有効な属性のセットを定義したので、フレームワークでは、有効な属性のみがそのコンポーネントに渡されることが自動的に検証されます。

クエリ文字列 ?fakeAttribute=fakeValue を追加して helloAttributes.app の要求を試してみてください。helloAttributes.appfakeAttribute 属性がないというエラーが表示されます。