Namespace: manager

h5.ui.jqm. manager

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コントローラマネージャにコントローラを登録します。

「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: