jQuery Mobile専用コントローラマネージャ (JQM Manager)
現在表示されているページ(アクティブページ)に指定したコントローラとCSSファイルを読み込むという定義を行うことにより、 jQuery Mobile特有のページのライフサイクル(DOM生成や破棄)にあわせて、ページに対して
- コントローラで定義したハンドラ
- スタイル(CSSファイル)
JQM Managerはページ内で動的に作成した(h5.core.controller()で生成した)コントローラも管理します。
動的に生成したコントローラもページに紐づくものとして管理し、define()で生成したコントローラと同様に、ページの遷移によってハンドラとスタイルの有効・無効化を行います。
動的に生成されたコントローラは、そのページに内で起こったユーザー操作などによって初めて作られるものと考えられるため、 pageremoveイベントが発生してページが破棄されると、そのページに紐づいたコントローラのインスタンスも破棄されます。
- Source:
Methods
(static) __reset()
/*
テスト用に公開
JQMControllerが管理しているコントローラへの参照と、JQMControllerインスタンスへの参照を除去し、JQMControllerをdisposeをします。
- Source:
(static) define(id, cssSrcopt, controllerDefObjectopt, initParamopt)
jQuery Mobile用hifiveコントローラマネージャにコントローラを登録します。
ただし、ページに同じコントローラを2つ以上バインドすることはできません。
同じコントローラであるかの判定は、コントローラ定義オブジェクトの__nameプロパティの値がバインド済みのコントローラと同値であるか比較し、同値の場合はバインドされません。
「data-role="page"」または「data-role="dialog"」の属性が指定された要素でかつ、 idが第1引数で指定されたものに一致する要素に対してコントローラを登録します。
1つのページに複数コントローラを登録することもできます。
以下のように、登録したいコントローラ定義オブジェクトの数分、define()を実行して下さい。
h5.ui.jqm.manager.define('pageA', 'css/pageA.css', controllerDefA, defAParams); h5.ui.jqm.manager.define('pageA', 'css/pageA.css', controllerDefB, defBParams);注意:
ただし、ページに同じコントローラを2つ以上バインドすることはできません。
同じコントローラであるかの判定は、コントローラ定義オブジェクトの__nameプロパティの値がバインド済みのコントローラと同値であるか比較し、同値の場合はバインドされません。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
id |
String | ページID | |
cssSrc |
String | Array.<String> |
<optional> |
CSSファイルのパス |
controllerDefObject |
Object |
<optional> |
コントローラ定義オブジェクト |
initParam |
Object |
<optional> |
初期化パラメータ (ライフサイクルイベント(__construct, __init, __ready)の引数にargsプロパティとして渡されます) |
- Source:
(static) init()
jQuery Mobile用hifiveコントローラマネージャを初期化します。
2回目以降は何も処理を行いません。
- Source: