次の方法で共有


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.ControlSys.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 に設定されます。

Bb310863.alert_note(ja-jp,VS.90).gifメモ :

別のコンポーネントの initialize メソッドから create メソッドまたは $create ショートカット メソッドを呼び出さないでください。これを行った場合、新しいコンポーネントは正しく初期化されません。代わりに、新しいコンポーネントを作成し、それをトップ コンポーネントへ参照として渡します。

参照

処理手順

カスタムの非ビジュアル クライアント コンポーネントの作成

概念

プロトタイプ モデルを使用したクライアント コンポーネント クラスの作成

参照

Sys.Component クラス

その他の技術情報

言語リファレンス