-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
h5.ui.jqm.manager JQMのpageshow/pagehide相当のイベントをhifiveでディスパッチする #169
Comments
A -> B遷移後、 B -> A に戻った場合
戻った場合はトランジションの有無で違いなし。 |
A -> B -> C id:BODY type:pagebeforechange |
h5jqmpageshowとh5jqmpagehideの発生順序 (仮
|
h5jqmpageshowとh5jqmpagehideの発生順序 (トランジションにアニメーションが適用されている場合h5jqmpageshow = JQMのpageshowとほぼ同じタイミングで発生
|
h5jqmpageshowとh5jqmpagehideの発生順序 (トランジションにアニメーションが適用されていない場合h5jqmpageshow = JQMのpageshowとほぼ同じタイミングで発生
|
JQMマネージャで管理しているコントローラに対して、pagehide相当のタイミングでh5jqmpageshowを、pageshow相当のタイミングでh5jqmpagehideをトリガするよう修正。
pageshowがJQMコントローラのバインドよりも早く実行されたときの挙動
なお、アクティブページでのみh5jqmpageshow/hideは実行される。 |
__ready処理中にA->B->Aのように遷移しても、h5jqmpageshowが2回実行されないよう修正。 テストケースにフォーマッタを適用。
pageshow/pagehide対応コードをマージ。この問題のためのブランチが過去(手違いで)すでにマージされ、手作業でソースを前バージョンのものに戻していたので、今回も手作業でマージ。マージ元のコミットは b19a7c5。
Aページ表示後、Bページに遷移するパターンでトランジションありで遷移した場合、Bにdefineしたコントローラでpageshow/pagehideを拾うことができるが、トランジション無しで遷移すると、Bにdefineしたコントローラでpageshowやpagehideを拾うことができない。
ページの生成・破棄のタイミングはhifiveのライフサイクルイベントで知ることができるが、ページの表示・非表示のタイミングは知ることができないため、コントローラが有効または無効になったときにJQMマネージャでpageshow/pagehide相当のイベントを起こすようにする。
hifiveのイベントとJQMのイベントの発生タイミング
JQM ver.1.2.0 id:要素 type:イベント名
id:BODY type:pagebeforechange
id:BODY type:pagebeforeload
id:B type:pagebeforecreate
id:B type:pagecreate
id:B type:pageinit
id:BODY type:pageload
id:BODY type:pagebeforechange
id:A type:pagebeforehide
id:B type:pagebeforeshow
id:B type:h5controllerbound
B __ready
id:B type:h5controllerready
id:A type:pagehide
id:B type:pageshow
id:BODY type:pagechange
id:BODY type:pagebeforechange
id:BODY type:pagebeforeload
id:B type:pagebeforecreate
id:B type:pagecreate
id:B type:pageinit
id:BODY type:pageload
id:BODY type:pagebeforechange
id:A type:pagebeforehide
id:B type:pagebeforeshow
id:A type:pagehide
id:B type:pageshow
id:BODY type:pagechange
id:B type:h5controllerbound
B __ready
id:B type:h5controllerready
The text was updated successfully, but these errors were encountered: