new Controller()
このオブジェクトは自分でnewすることはありません。 コントローラ化して動作させる場合はh5.core.controller()を使用してください。
- Source:
Members
(static) __construct :function
コントローラ生成時に実行されるライフサイクルメソッドの一つ。コントローラ定義オブジェクトの__constructに関数を記述することで動作する。 指定はオプションであり、記述しなくてもよい。
コントローラ生成時のライフサイクルメソッドはController.__construct, Controller.__init, Controller.__postInit, Controller.__readyの順序で動作する。
Type:
- function
(static) __dispose :function
コントローラの破棄時に実行されるライフサイクルメソッドの一つ。コントローラ定義オブジェクトの__disposeに関数を記述することで動作する。 指定はオプションであり、記述しなくてもよい。
コントローラ破棄時のライフサイクルメソッドはController.__unbind,Controller.__disposeの順序で動作する。
Type:
- function
(static) __init :function
コントローラ生成時に実行されるライフサイクルメソッドの一つ。コントローラ定義オブジェクトの__initに関数を記述することで動作する。 指定はオプションであり、記述しなくてもよい。
コントローラ生成時のライフサイクルメソッドはController.__construct, Controller.__init, Controller.__postInit, Controller.__readyの順序で動作する。
Type:
- function
(static) __name :String
Type:
- String
- Source:
(static) __postInit :function
コントローラ生成時に実行されるライフサイクルメソッドの一つ。コントローラ定義オブジェクトの__postInitに関数を記述することで動作する。 指定はオプションであり、記述しなくてもよい。
コントローラ生成時のライフサイクルメソッドはController.__construct, Controller.__init, Controller.__postInit, Controller.__readyの順序で動作する。
Type:
- function
(static) __ready :function
コントローラ生成時に実行されるライフサイクルメソッドの一つ。コントローラ定義オブジェクトの__readyに関数を記述することで動作する。 指定はオプションであり、記述しなくてもよい。
コントローラ生成時のライフサイクルメソッドはController.__construct, Controller.__init, Controller.__postInit, Controller.__readyの順序で動作する。
Type:
- function
(static) __templates :String|Array.<String>
Type:
- String | Array.<String>
- Source:
(static) __unbind :function
コントローラの破棄時に実行されるライフサイクルメソッドの一つ。コントローラ定義オブジェクトの__unbindに関数を記述することで動作する。 指定はオプションであり、記述しなくてもよい。
コントローラ破棄時のライフサイクルメソッドはController.__unbind,Controller.__disposeの順序で動作する。
Type:
- function
(static) initPromise :Promise
Type:
- Promise
- Source:
(static) isInit :Boolean
Type:
- Boolean
- Source:
(static) isPostInit :Boolean
Type:
- Boolean
- Source:
(static) isReady :Boolean
Type:
- Boolean
- Source:
(static) log :Log
コントローラ内のメソッドでthis.log.debug('debug message');
のように記述して使用します。ロガーの使い方の詳細はLogをご覧ください。
Type:
- Source:
(static) parentController :Controller
Type:
- Source:
(static) postInitPromise :Promise
Type:
- Promise
- Source:
(static) preInitPromise :Promise
state()
戻り値 | 結果 |
"resolved" | 読み込みに成功 |
"rejected" | 読み込みに失敗 |
"pending" | 読み込みが開始されていないまたは読み込み中 |
isResolved(), isRejected()
isResolved()の戻り値 | isRejected()の戻り値 | 結果 |
true | false | 読み込みに成功 |
false | true | 読み込みに失敗 |
false | false | 読み込みが開始されていないまたは読み込み中 |
また、preInitPromise.done()に関数を設定すると読み込み成功時に、 preInitPromise.fail()に関数を設定すると読み込み失敗時に、設定した関数を実行します。
Type:
- Promise
- Source:
(static) readyPromise :Promise
Type:
- Promise
- Source:
(static) rootController :Controller
Type:
- Source:
(static) rootElement :Element
Type:
- Element
- Source:
(static) scene :Scene
コントローラ化の際に、コントローラに"scene"プロパティが追加されます。
使用方法についてはSceneをご覧ください。
Type:
- Source:
(static) view :View
Viewクラスと同様にテンプレートを扱うクラスですが、Controllerの持つViewは以下の点でViewクラスとは異なります。
- append/update/prependメソッドでのターゲット(出力先)について、 コントローラのイベントハンドラと同様にコントローラのルートエレメントを起点に選択します。 また、グローバルセレクタも使用可能です。
// 例
// thisはコントローラ
this.view.append('.target', 'tmpId'); // コントローラのルートエレメント内のtargetクラス要素
this.view.append('{.target}', 'tmpId'); // $('.target')と同じ
this.view.append('{rootElement}', 'tmpId'); // コントローラのルートエレメント(this.rootElementと同じ)
this.view.append('{document.body}', 'tmpId'); // body要素
// 例
// parentControllerは子コントローラを持つコントローラ
var parent = parentController.view;
var child = parentController.childController;
// viewにテンプレートを登録
h5.core.view.register('a', 'a_coreView');
h5.core.view.register('b', 'b_coreView');
parent.view.register('a', 'a_parent');
parent.view.register('d', 'd_parent');
child.view.register('c', 'c_child');
child.get('c'); // c_child
child.get('d'); // d_parent
child.get('a'); // a_parent
child.get('b'); // b_coreView
コメントビューの詳細については、リファレンス(仕様詳細) >> コメントビューをご覧ください。
Type:
- Source:
- See:
Methods
(static) $find(selector) → {jQuery}
Parameters:
Name | Type | Description |
---|---|---|
selector |
String | セレクタ |
Returns:
- Type
- jQuery
- Source:
(static) bind(targetElement, paramopt) → {Controller}
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
targetElement |
String | Element | jQuery | バインド対象とする要素のセレクタ、DOMエレメント、もしくはjQueryオブジェクト. セレクタで指定したときにバインド対象となる要素が存在しない、もしくは2つ以上存在する場合、エラーとなります。 |
|
param |
Object |
<optional> |
初期化パラメータ. 初期化パラメータは __init, __readyの引数として渡されるオブジェクトの argsプロパティとして格納されます。 |
Returns:
- Type
- Controller
- Source:
(static) deferred() → {Deferred}
Returns:
- Type
- Deferred
- Source:
(static) disableListeners()
- Source:
(static) dispose() → {Promise}
Controller#unbind() の処理を包含しています。
Returns:
- Type
- Promise
- Source:
(static) enableListeners()
- Source:
(static) indicator() → {Indicator}
h5.ui.indicatorと同様にインジケータオブジェクトを取得する関数ですが、ターゲットの指定方法について以下の点でh5.ui.indicatorと異なります。
- 第1引数にパラメータオブジェクトを渡してください。
// thisはコントローラ
this.indicator({
target: this.rootElement
}); // OK
this.indicator(this.rootElement, option); // NG
// thisはコントローラ
this.indicator({target:'.target'}); // コントローラのルートエレメント内のtargetクラス要素
this.indicator({target:'{.target}'}); // $('.target')と同じ
this.indicator({target:'{rootElement}'); // コントローラのルートエレメント(this.rootElementと同じ)
this.indicator({target:'{document.body}'); // body要素
Returns:
- Type
- Indicator
- Source:
- See:
(static) manageChild(コントローラインスタンス)
追加されたコントローラは呼び出し元のコントローラの子コントローラとなります。
Parameters:
Name | Type | Description |
---|---|---|
コントローラインスタンス |
Controller |
- Source:
(static) off(target, eventName, listener)
第1引数targetの指定にはコントローラのイベントハンドラ記述と同様の記述ができます。 つまりセレクタの場合はルートエレメントを起点に選択します。またグローバルセレクタで指定することもできます。、
Parameters:
Name | Type | Description |
---|---|---|
target |
String | Object | イベントハンドラのターゲット |
eventName |
String | イベント名 |
listener |
function | ハンドラ |
- Source:
(static) on(target, eventName, listener)
第1引数targetの指定にはコントローラのイベントハンドラ記述と同様の記述ができます。 つまりセレクタの場合はルートエレメントを起点に選択します。またグローバルセレクタで指定することもできます。、
ここで追加したハンドラはコントローラのunbind時にアンバインドされます。
Parameters:
Name | Type | Description |
---|---|---|
target |
String | Object | イベントハンドラのターゲット |
eventName |
String | イベント名 |
listener |
function | ハンドラ |
- Source:
(static) own(func) → {function}
Parameters:
Name | Type | Description |
---|---|---|
func |
function | 関数 |
Returns:
- Type
- function
- Source:
(static) ownWithOrg(func) → {function}
Parameters:
Name | Type | Description |
---|---|---|
func |
function | 関数 |
Returns:
- Type
- function
- Source:
(static) throwCustomError(customType, msgOrErrObj, var_argsopt)
このメソッドでスローされたErrorオブジェクトのcustomTypeプロパティには、第一引数で指定した型情報が格納されます。
第二引数がオブジェクトまたは文字列によって、出力される内容が異なります。
文字列の場合
文字列に含まれる{0}、{1}、{2}...{n} (nは数字)を、第二引数以降に指定した値で置換し、それをメッセージ文字列とします。
オブジェクトの場合
Erorrオブジェクトのdetailプロパティに、このオブジェクトを設定します。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
customType |
String | 型情報 | |
msgOrErrObj |
String | Object | メッセージ文字列またはオブジェクト | |
var_args |
Any |
<optional> |
置換パラメータ(第一引数が文字列の場合のみ使用します) |
- Source:
(static) throwError(msgOrErrObj, var_argsopt)
第一引数がオブジェクトまたは文字列によって、出力される内容が異なります。
文字列の場合
文字列に含まれる{0}、{1}、{2}...{n} (nは数字)を、第二引数以降に指定した値で置換し、それをメッセージ文字列とします。
オブジェクトの場合
Erorrオブジェクトのdetailプロパティに、このオブジェクトを設定します。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
msgOrErrObj |
String | Object | メッセージ文字列またはオブジェクト | |
var_args |
Any |
<optional> |
置換パラメータ(第一引数が文字列の場合のみ使用します) |
- Source:
(static) trigger(event, parameteropt) → {jQueryEvent}
第2引数に指定したparameterオブジェクトは、コントローラのイベントハンドラで受け取るcontext.evArgに格納されます。
parameterに配列を指定した場合は、context.evArgに渡した配列が格納されます。
戻り値は、jQueryEventオブジェクトを返します。
長さ1の配列をparameterに指定した場合について
trigger('click', ['a']);
のように、1要素だけの配列を渡した場合は、配列ではなくその中身がcontext.evArgに格納されます。(jQuery.triggerと同様です。)
triggerで、渡した配列の長さに関わらず、渡したデータを配列としてハンドラで扱いたい場合は、以下のような方法を検討してください。。
- parameterをオブジェクトでラップする。
// trigger this.trigger('hoge', {data: ary}); // イベントハンドラ '{rootElement} hoge': function(context){ var ary = context.evArg.data; for(var i = 0, l = ary.length; i < l; i++){ // 配列に対する処理 } }
- イベントハンドラ側で、受け取ったデータが配列でなかったら配列でラップしてから扱う
// trigger this.trigger('hoge', ary); // イベントハンドラ '{rootElement} hoge': function(context){ var ary = $.isArray(context.evArg) ? context.evArg: [context.evArg]; for(var i = 0, l = ary.length; i < l; i++){ // 配列に対する処理 } }
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
event |
String | jQueryEvent | イベント名またはjQueryEventオブジェクト | |
parameter |
Object |
<optional> |
パラメータ |
Returns:
- Type
- jQueryEvent
- Source:
(static) triggerIndicator(opt) → {Indicator}
例えば、子コントローラにおいてインジケータのカバー範囲を親コントローラ全体(または画面全体)にしたい場合などに使用します。
このメソッドを実行すると、「triggerIndicator」という名前のイベントが発生します。また、イベント引数としてオプションパラメータを含んだオブジェクトが渡されます。
イベントがdocumentまで到達した場合、フレームワークが自動的にインジケータを生成します。
途中のコントローラでインジケータを生成した場合はevent.stopPropagation()を呼んでイベントの伝搬を停止し、イベント引数で渡されたオブジェクトの
indicator
プロパティに生成したインジケータインスタンスを代入してください。indicatorプロパティの値がこのメソッドの戻り値となります。
Parameters:
Name | Type | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
opt |
Object | オプション
Properties
|
Returns:
- Type
- Indicator
- Source:
(static) unbind()
- Source:
(static) unmanageChild(コントローラインスタンス, andDisposeopt) → {Promise}
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
コントローラインスタンス |
Controller | |||
andDispose |
Boolean |
<optional> |
true | 第1引数で指定されたコントローラをdisposeするかどうか。指定無しの場合はdisposeします。 |
Returns:
- Type
- Promise
- Source: