LoginSignup
1
1

More than 5 years have passed since last update.

Elementとコンポーネントと属性の取得

Posted at

Elementとコンポーネントと属性の取得方法をまとめてみる。

コンポーネントを取得する(1)

var globalId = '74:2.a';
var cmp = $A.getCmp(globalId);
var globalId = cmp.getGlobalId();

つまりは、グローバルIDがわからないとコンポーネントが取得できないし、コンポーネントがわからないとグローバルIDが取得できない仕組みになってます。
なので、コンポーネント自分自身の中か、コンポーネントがコンポーネントをコンポジションしている場合に親のコンポーネントが子のコンポーネントを取得する出来ないです。
(globalIdがふられるタイミングも気になります・・・要検証)

コンポーネントを取得する(2)

hoge.cmp
<div aura:id="hoge">hogehoge</div>
var foo = cmp.get('hoge');

これで、divのコンポーネントが取得できます。
どうも各コンポーネントに記述した各Elementがそれぞれコンポーネントでラッピングされています。

Elementを取得する。

var foo = cmp.get('hoge');
foo.getElement();

<出力>
Aura.jpg

これでも結果は同じ

foo.getElements()[0];

属性を取得する。

hoge.cmp
<aura:attribute name="foo" type="String" default="bar"/>
<ui:button aura:id="foobar" label="submit me!" press="{!c.dosomething}" />

コンポーネントの属性を取得できます。

//どっちも同じ結果
cmp.get('v.foo')
cmp.get('v').get('foo')

こうやって、Elementの属性も取得できます。

//どっちも同じ結果
cmp.get('foobar').get('v.label');
cmp.get('foobar').get('v').get('label');

Aura.jpg

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1