2 に答える
動的ロードは、いくつかのJavascriptフレームワークの機能です。たとえば、AngularJSとBackbone.js。たぶん、複数のビューをロードするための彼らのアプローチを見てみませんか?
私は以前、各ビューの空のdivをindex.htmlに追加し、オンデマンドで各ビューのJavascriptを動的にロードすることで、これを行うアプリに取り組んできました。ビューのJavascriptは、HTMLをそのビューのdivにレンダリングする役割を果たしました。
テストケースを設定せずに、ページを分離してコーディングを容易にしたい場合は、jQuery Mobile の標準的な方法でページをロードすることをお勧めします。
$.mobile.changePage( "about/us.html", { transition: "slideup"} );
このようにして、車輪を再発明する必要はなく、要求を満たします。どのような場合でも、HTML がレンダリングされる前に多くのページを挿入してブロックされるのではなく、最初のページをすばやくレンダリングすることを考慮すると、提案されたソリューションと比較してオーバーヘッドは無視できます。どのような場合でもデバイス上でローカルになるため、Phonegap は非常に迅速にサービスを提供できます。
jQuery Mobile を介してページをロードする際に覚えておくべきことの 1 つは、ターゲット ページ内のすべての要素を外に取り除くことです。
data-role="page|dialog|popup"
タグのすぐ下にスクリプトタグを含めることをお勧めします。
data-role="page"
開始タグを設定し、「pageinit」でページの初期化が発生するように設定します
<div data-role="page" id="options" data-theme="a">
<script type="text/javascript">
$(document).bind('pageinit', initializeOptions());
function initializeOptions() {
// do your page initialization here . . .
}
</script>
<!-- rest of page continues here . . . . -->
必要に応じて、ページの残りの部分に進みます。そうすれば、ページが $.mobile.changePage メソッドを介して読み込まれるときに解析されます。
それが役立つことを願っています。