問題タブ [ngroute]
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.
angularjs - 新しいベース ページへのルーティング
angular では、次のようにルートを定義しました。
pages/main.html
だから私のウェブサイトは私の中にページをロードしますindex.html
。私が行ったとき#/login
、私のpages/login.html
内部index.html
。
page/login.html
しかし、実際にはの中にロードしたくありませんindex.html
。ログインページに独自のレイアウトを持たせたい。
login.html
部分的に内部に含まれないようにロードする方法はありますが、index.html
独自のベースレイアウトを持つことができますか?
javascript - $location.path は、フォーム送信後にルートを変更しません
stackoverflow の angular js の $location.path に関する多くの問題を見てきましたが、どれも私の問題を解決しません。
app.js で以下のルートを定義しました。
list-users.jsp パーシャルは、更新するレコードを選択できるユーザーのリストを表示します。更新ボタンをクリックすると、ngRoute はアプリを edit-user.jsp パーシャルに正常にルーティングします。$location.path('/list-users')
ただし、そのページで [保存] ボタンをクリックすると、コントローラーで EditUserCtrlを使用したにもかかわらず、ルートが "/list-users" に変更されません。「[app_url]/?」にリダイレクトされます。
これが私のコントローラーです:
更新機能 ( saveUser
) は、ngResource を介してバックエンド サーバーに Restful 要求を行うサービスを使用します。サービスは正常に動作します (すべてのテストに合格しています)。
リソース アクションを呼び出すときに、成功のコールバック関数に $location.path を含めました。
私はキャッチしよう"$locationChangeSuccess"
と"$locationChangeError"
しましたが、この場合 a$locationChangeError
がスローされることがわかりましたが、どのプロミスオブジェクトが拒否されてこのエラーが発生したのかわかりません。
どんな助けでも大歓迎です。
編集:
ここに edit-user.jsp パーシャルがあります
angularjs - angularjs のルートで複数のオプション パラメータを定義する
ルートがあります
/t_:type/:assetId
オプションにしたい
私の希望するURLは
これを行う方法はありますか。を使用していますか?c_、t_のような定数部分ではなく、1つだけをオプションにすることができます
jquery - jquery colorbox を使用して angularjs テンプレートを動的にレンダリングする
テンプレートの本文をレンダリングするためにルートを使用しています。以下を参照してください。テンプレートが読み込まれ、この時点で問題はありません。
ユーザーがリンクのレンダリングされたテンプレート (/templates/my-details) 内をクリックすると、カラーボックス ポップアップがトリガーされ、ルートで利用可能な my_object データが取り込まれた別の角度テンプレートを使用したいと考えています。
クリックでトリガーされるコードを処理し、テンプレートを取得してコンパイルするカスタム ディレクティブを作成しました。次に、その内容を colorbox に渡して使用します。
私が抱えている問題は、compiled_template が正しくレンダリングされていないことです。$compile(template)(scope) に渡されたスコープには、使用するテンプレート /templates/my-buy のオブジェクト my_object が含まれていると想定していましたが、コンパイルされたテンプレートは式やディレクティブなどを無視するため、そうではないようです。 . my_object を参照します。
これは、ルーティングを行う前に機能し、ng-controller を定義するためのディレクティブ要素を使用して、はるかに単純なページを作成していました。私が渡しているスコープは、私が使用しているルート プロバイダーのスコープではないとしか思えません。"/"。
angularjs - angular を 1.0.8 から 1.2.21 にアップグレードするときの $routeProvider エラー
以前は、angular js 1.0.8 を使用していましたが、バージョンを 1.0.8 から 1.2.21 に更新しましたが、以下のようなエラーが表示されます。
また、$route プロバイダーの機能はまったく機能していません。
この点で誰かが私を助けることができますか?
angularjs - ngRoute コントローラー間でデータを渡す最良の方法 (あるビューから次のビューへ)
特定のルートに表示されるビュー間でデータを渡すのに (Angular の方法で) 最善の方法は何か疑問に思っています。URL を介してデータを渡すのは避けたいと思います。大量のデータが存在する可能性があるか、文字列などへの何らかの変換が必要になるためです。 . 全体として、良い考えではありません。
これを理解するための例:
空のフィールドを表示する新しいコンテンツ ビューの作成があり、ユーザーは必要なすべてのデータを自由に入力できます。しかし、場合によっては、これらのフィールドのいくつかに、ユーザーが前のビューで行ったことに基づいてデータを事前入力したいことがあります。
各ビューには独自のコントローラーがあります。サービスを介した通信はまだ機能するでしょうか? データの有効期間を気にする必要がないように、他に簡単な方法はありますか (つまり、サービスを介して話す場合は、読み取られた後にデータを手動で破棄する必要があります)。
これを行うためにAngularが推奨する方法は何ですか?