どちらも優れたJSプログラミングフレームワークですが、使用目的は異なります。
1. jQuery Mobileは、空間を操作するための多くのAPIを提供するjQuery自体に依存するだけでなく、素晴らしいグラフィカルな空間を提供します。
2.Angularは多くのコントロールを持っていませんが、良いJS MVCフレームワークであるだけでなく、データバインディングのためのスペースを提供します。
そのため、この2つを統合するオープンソースプロジェクトがいくつか始まっています。
https://.//---er
しかし、このアダプタを使用すると、2つのうまく動作することができますが、NO。いくつかの問題があり、例えば、2つのページのロード方法は、各ページのために、Angularは、ブラウザにページフラグメントをロードする必要性でルートの使用のナビゲーションであり、URLはangular-phonecat/step-7/app/#/phones/motorola-xoom-with-wi-fiいますが、実際のリソースアドレスの後に#に注意してください。は、実際のリソースのアドレスであり、その後、リソースに対応するコントローラを初期化するので、表示データを初期化することができます。そうすると、jQuery Mobileは全ページを一度にクライアントに読み込む必要があります。この場合、jQuery Mobileでページごとにアンギュラーコントローラを定義すると、アンギュラーコントローラを初期化した時点ではまだページは表示されていません。
設計実装が必要、各jQuery Mobileページには、Angularコントローラを定義するために、各コントローラは、データバインディングの対応するページを完了するには、どのように実装します。
2.ナビゲーションの問題:ページがjQuery Mobileで書かれているため、angular routeではなくjQuery Mobileの$.mobile.changePageを使ったナビゲーション。ページの切り替えに加えて、ページナビゲーションの最も重要なポイントはページデータを初期化することです。jQuery Mobileでは、すべてのコントローラはページロードの段階で初期化されるため、ルートコントローラに移動してから、表示されているページのバインドデータを更新するために戻ることしかできません。このため、すべてのページのバインドデータをルートコントローラで定義する必要があり、angularのルールに従ってすべてのサブコントローラがこれらのデータ定義を継承します。コントローラが直接飲めるように、***を定義するときはプライマリ型の代わりに構造体を使用します。
$scope.shop = {};
$scope.shop.catelogs = null;
$scope.shop.advices = [];
$scope.shop.child = [];
$scope.shop.products = [];
3.私は各ナビゲーションに別々のコントローラを定義し、ページコントローラの初期化に使用することが多いです。
angular
.module(
'ngPageNav',
[],
[
'$provide',
function($provide) {
$provide
.factory(
'ngPageNavigator',
[
'$http',
function($http) {
function nav($scope,
$http, action,
data,
ignoreStack) {
.....
}
return {
nav : nav,
back : back
};
}
} ]);
}]).value('name', 'ngPageNav');
3。あなたは$.mobile.changePage頻繁にページバインディングデータの変更を呼び出しますが、ページがページページを更新されません、バックエンドに対処するための最も簡単な方法は、ダミーのリクエストを送信します。
4.jQuery Mobileを開いたときに直接ページに切り替える必要がある場合は、ルートコントローラでjqmInitをリッスンします。
$scope.$on("jqmInit",function() {
}





