Sys.Component.create メソッド
更新 : 2007 年 11 月
指定した型のコンポーネントを作成して初期化します。これは静的メソッドで、クラスのインスタンスを作成しなくても呼び出すことができます。
aComponent.create(type, properties, events, references, element);
パラメータ
パラメータ |
説明 |
---|---|
type |
作成するコンポーネントの型。 |
properties |
(省略可能) プロパティとその値を記述する JSON オブジェクト。 |
events |
(省略可能) イベントとそのハンドラを記述する JSON オブジェクト。 |
references |
(省略可能) 他のコンポーネントの参照であるプロパティを記述する JSON オブジェクト。 |
element |
(省略可能) コンポーネントをアタッチする必要がある DOM 要素。 |
戻り値
指定したパラメータを使用するコンポーネントの新しいインスタンス。
解説
create メソッドは、指定した型のコンポーネントをインスタンス化します。コンポーネントがコントロールまたは動作の場合、create メソッドはコンポーネントを指定した要素にアタッチします。メソッドは、渡されたプロパティやイベントをすべてパラメータとして設定し、initialize メソッドを呼び出します。
作成するコンポーネントは、直接、または Sys.UI.Control や Sys.UI.Behavior から派生させて、Sys.Component クラスから派生させる必要があります。Sys.Application.init イベント発生時に create メソッドを呼び出して、作成するコンポーネントがページ読み込み中に使用可能なことを確認します。
create メソッドは、$create ショートカット メソッドを使用して呼び出すこともできます。
このメソッドのほとんどのパラメータは省略可能ですが、create メソッドの呼び出しに渡さないパラメータに、null をプレースホルダとして含める必要があります。properties、events、および references の各パラメータに使用する値は、中かっこ ({}) で囲んで、次の標準 JSON 形式で指定する必要があります。
{argument: value, argument2: value, ...}
ほとんどのパラメータに値を渡す create メソッドを次の例に示します。
$create(MyControl, {id: 'c1', visible: true}, {click: showValue}, null, $get('button1'));
このメソッドは、MyControl クラスのインスタンスを作成し、その id プロパティを "c1" に設定して visible プロパティを true に設定します。このクラスには、ページ上の showValue() 関数にバインドされた click イベントがあります。このインスタンスは、ID が "button1" の HTML DOM 要素にバインドされます。クラスには他のコンポーネントを参照するプロパティがないため、references パラメータは null に設定されます。
![]() |
---|
別のコンポーネントの initialize メソッドから create メソッドまたは $create ショートカット メソッドを呼び出さないでください。これを行った場合、新しいコンポーネントは正しく初期化されません。代わりに、新しいコンポーネントを作成し、それをトップ コンポーネントへ参照として渡します。 |
参照
処理手順
概念
プロトタイプ モデルを使用したクライアント コンポーネント クラスの作成