私は Jquery Mobile を動作させていますが、それを動作させる最善の方法は、/client/ ディレクトリに含めることです。したがって、 /client/ ディレクトリに次のファイルがあります
jquery.js jquery-mobile.js jquery-mobile.css
次に、これをindex.htmlに含めます
<script type="text/javascript">
$( document ).bind( "mobileinit", function( event, data ){
$.mobile.autoInitializePage = false;
}
</script>
スマート パッケージを作成しようとしましたが、何らかの理由で読み込み順序によって jquery プラグインが無効になりました。HEAD で参照を使用しようとしましたが、何らかの理由で jquery プラグインが無効になりました。上記の動作、ページ遷移、ビューのレンダリング、Meteor 認証ブランチとレンダリング サブスクリプションを使用することもできます。
私が今抱えている問題は、Meteor が DOM をデータで更新し、JQM でレンダリングされていないデータをレンダリングするときです。
たとえば、JQM Listview を使用して Meteor サブスクリプションを表示しようとすると、通常の順不同リストのようにフォーマットされます。
テンプレートコードはこちら。
{{#each get_groups}}
<ul data-role="listview" data-theme="a">
<li>{{name}}</li>
</ul>
{{/each}}
箇条書きのアイテムとしてレンダリングされます。JQM tuts ショーのような静的データを使用すると、正常にレンダリングされます。
<ul data-role="listview" data-theme="a">
<li><a href="acura.html">Acura</a></li>
<li><a href="audi.html">Audi</a></li>
<li><a href="bmw.html">BMW</a></li>
</ul>
ある種の更新を呼び出す必要があるのではないかと思います。つまり、私が想像するコレクション サブスクリプションで監視を使用する必要があります。
カスタムログインボタンで同じ問題が発生しています。テンプレート ヘルパーを使用して Meteor.user().username を返しますが、ボタンが JQM によってフォーマットされません。ユーザー名を返さない場合、ボタンはもちろんJQMを介して検索をレンダリングします。
Handlebars の現在のユーザーにアクセスしようとすると、同じ問題が発生します。次のようにしようとすると、publicPage が読み込まれます。
{{#if currentUser}}
{{>privatePage}}
{{else}}
{{>publicPage}}
{{/if}}
ログインすると、privatePage がすばやくちらつき、白い画面になります。currentUser への参照を削除すると、ログインして JQM changePage メソッドを使用して privatePage をロードできます。
$.mobile.changePage("#privatePage");
大まかな理解しかありませんが、JQM がレンダリング用にデータをフォーマットする方法とタイミングと、Meteor がレンダリング用にデータをフォーマットする方法とタイミングに関連していると思います。
JQM を Meteor で適切に動作させる方法について、誰かアイデアはありますか? それとも、Meteor と一緒に別のモバイル フロント エンドを使用する必要があるのでしょうか?
ありがとうスティーブ