問題タブ [route-provider]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - AngularJS: $routeProvider が $http を解決すると、私の obj ではなく応答 obj が返される
コントローラーが必要とするデータ (およびコントローラーが提供するディレクティブ) を実行する前に利用できるように、いくつかの ajax 呼び出しを解決しようとしています。実行の順序は機能していますが、作成したオブジェクトを返す代わりに、コントローラーに注入された結果は $http の応答オブジェクトです。
私のコードは基本的に次のようになります。
私はばかですか?$http の成功からの戻り値は、実際に $http によって返されるものであるべきではありませんか?
私も試しました
しかしdata
、コントローラーに注入されたオブジェクトは未定義でした ($http は非同期でありresolve
、$http によってブロックされなかったので、$http の準備が整う前に返されたのではないかと推測しています)。
PS $http の同期性は、オプション オブジェクトで定義できる必要があります。
解決
Ajay beniwal のポインターとMark Rajcok のポインターに感謝します。
PSthen()
は$qのページに記載されています。
ajax - $routeProvider: X-Requested-With ヘッダー付きの templateUrl リクエスト
jQuery.ajax()
通常、 set をコンテンツとしてX-Requested-With
ヘッダーを送信します。XMLHttpRequest
サーバー(PHP)では、通常、次のテストでこれを検出します。
$is_ajax = $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest'
でよく見られるAngularJSでは$routeProvider.when()
、 を使用してサーバーからテンプレートを取得できますtemplateUrl: '/path/on/server'
。
私の問題は、templateUrl
リクエストがヘッダーを設定していないように見えるため、リクエストを他のタイプのリクエストX-Requested-With
と区別する方法がないことです。templateUrl
として$routeProvider
送信する方法はありますか?X-Requested-With
XMLHttpRequest
参照:
$routeProvider ドキュメント- (検索
templateUrl
)jQuery jqXHR - 参照
jqXHR.setRequestHeader("X-Requested-With", "XMLHttpRequest")
Google CDN
v1.1.5
経由でAngular を使用する更新: Angular 開発者がから削除した実際のコミットを見つけました。なぜ彼らはそれをするのだろうか?
X-Requested-With
$http.get
更新: https://github.com/angular/angular.js/issues/1004 - ヘッダーが削除されたディスカッション。
angularjs - AngularJS での分散ルート定義
一般的に、AngularJS のルート定義は次のように行われることを知っています。
私を悩ませているのは、RequireJS を使用してアプリケーションをモジュール化し、必要な場所にルートを登録したいということです。たとえば、プロファイル モジュールがある場合、そこからルートを登録したいとします。連絡先モジュールにも同じことが当てはまります。この中央集権化は私を夢中にさせます。ここでポイントを逃していますか、それとも私の問題に対する良い解決策はありますか?
angularjs - 履歴と URL を変更せずに angular $routeProvider を使用する
サーバーからパーシャルをロードするために $routeProvider を使用したいのですが、URL # 値の変更と履歴の変更は必要ありません (アプリ内でルートを複数回変更した後、[戻る] ボタンを複数回クリックすることなく、アプリは前の URL に戻る必要があります)。
angularjs - $routeProvider: 未定義の ID 数
私のangularjsアプリでは、私のパスは次のように構築されます:
ユーザーがサブメニュー項目をクリックすると、項目のインデックスがパスに追加されます。メニューの深さは指定されていません。
したがって、ユーザーがすべてのメニューをクリックすると、パスは次のようになります。
.../#/settings/0/2/0/3/2
ID の数が問題にならないように $routeProvider を設定するにはどうすればよいですか?
symfony - Angular HTML5 ルートでアセットを使用する Symfony2
Symfony で角度のあるフロント エンドを使用します。my を宣言するときは、html 5 モードを true: に設定した$routeProvider
ため、my を含める必要があります。/app_dev.php/
$locationProvider.html5Mode(true);
対
問題は、本番環境を使用したいときに、これらのルートを元に戻すことを覚えておく必要があることです。
おそらく、ダンプを実行してvsassetic
のダンプを実行していることを検出するときに、これを処理する良い方法がありますか、それとも、ターゲット環境のパスを変更することを痛感する必要がありますか?dev
prod
ありがとう
angularjs - Angular routeProvider Resolveが呼び出されていません
ルート プロバイダーに簡単な解決関数を設定しました。何かのようなもの
そのファクトリは、次のようにモジュールで宣言されます。
何が起こっているかは、ストレート リフレッシュまたは最初のロードで、この解決メソッドがヒットします。ただし、 $location.url('/mypage'); があるとします。あるルートからこのルートに変更すると、角度はこのコントローラーを再解決しません。
私は正しい方法で解決することを考えていない可能性があります。この情報はすべてビューの前にロードされ、ルート パラメータに基づいて可変になります。
rest - RESTful ルート角度ルート プロバイダー
私はこのようなことをしたいと思います:
残念ながら、角度は「新しい」は :playlistId であると考えているようです
これを実装する方法に関する提案はありますか?