1

私はかなりシンプルなアプリをかなり早くまとめようとしていますが、jQuery Mobileは初めてなので、いくつかの入力が必要な設計上の決定に直面しています。

一部のページでは、フォームを使用してGET経由で次のページにデータを渡します。jQuery Mobileを使用してアプリを改訂しているので、昔ながらの方法でデータをページに渡すために、それぞれに'data-ajax="false"'を適用する必要があることがわかりました。これにより、次のページがajaxを介してロードされなくなります。

私はこれに満足していますが、代替案を認識しています。jQueryMobileのajaxシステムに対応するために現在のモデルを完全に改訂しています。理解するのに時間がかかり、再実装するのに時間がかかるため、これを行うのは気が進まない。

だから問題はこれです:jQuery Mobileのデータ受け渡しシステムを使用して、ajaxを介してロードされた多くのページを持つ単一のDOMとして動作するようにアプリを書き直すことの利点は何でしょうか?なぜ私は気にするか、気にする必要がありますか?

(そもそもフォームシステムがどのように機能するのか、ほとんど理解できませんか?)

4

1 に答える 1

3

「JQM 方式」の利点の 1 つは、最初のページから離れないことです。

次のように考えてみてください。最初に読み込まれたページが「アンカー ページ」になり、他のすべてのページが追加/削除されます。data-rel="external" または data-ajax="false" のリンクに移動した場合にのみ、読み込まれた新しいページが次のアンカーになります。

JQM は、トランジションを有効にするためにこれを行う必要があります (基本的に、新しいページを既存の DOM にロードし、現在のページの「隣」にドロップしてからスライドさせます)。AJAX なしでまったく新しいページに移動した場合、アニメーションを表示する方法はありません。

あなたの例では、これはページからページにデータを渡す必要がないことを意味する可能性があります.JQMでページからページに移動するとき...あなたは実際に最初のページを離れることは決してないからです.

私は通常、オブジェクトを $('html') または $(document) に添付します。これには、後続のページで必要なものが含まれます。

何も送信する必要さえありません。次のようなJQM イベントにバインドするだけです。

  pagebeforehide

特定のページを離れる前に起動されます。関数ハンドラーでオブジェクトにフォーム値を入力し、送信前の最後のフォームページで、前のページから保存されたフォーム値を非表示の入力に入力するだけです

 pagebeforeshow

それが役立つことを願っています。

于 2012-05-21T07:57:21.520 に答える