問題タブ [angularjs-routing]

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.

0 投票する
1 に答える
370 参照

angularjs - ページに直接アクセスすると、角度のルーティングはどのようにアドレスバーを書き換えますか?

そのため、ページのアドレスを直接ヒットしたときのAngularのルーティング/アドレス書き換え動作ロジックを理解しようとしています。つまり、「/」だけのindex.htmlインストレッドに移動します。

(なぜ私がそうしているのか疑問に思うかもしれません。それは、完全なアドレスでページに直接アクセスすることが避けられず、ルーティングが奇妙になるという異常な状況でAngularjsを使用しようとしているからです。)

洞察はありますか?

0 投票する
1 に答える
1824 参照

javascript - ui-bootstrap から tabset ディレクティブを使用すると、Angularjs ルーティングが奇妙な動作をする

私は奇妙な行動を解決しようとしてきました。ui-router テンプレートの 1 つで ui-bootstrap の tabset ディレクティブを使用すると、その特定の状態から移動できなくなります。私が得るエラーは次のとおりです。

最初は正常に動作しますが、タブセットのあるページが読み込まれると、上記のルーティングの異常な動作が開始されます

これが私のフィドルです........

フィドルデモで2つのリンクを見つけることができます

1 -> Tab Absent [タブのない単純なページ] 2 -> Tab Present [ui-bootstrap タブのあるページ]

最初に Tab Absent Page を選択した場合は正常に動作しますが、Tab Present Page にアクセスすると、Tab Absent ページをクリックするたびにルーティングが行われません [つまり、タブが消えません]。

そして、最初に Tab Present Page にアクセスしてから Tab Absent page を選択すると、コンソールにエラーが表示されます

0 投票する
1 に答える
23034 参照

angularjs - AngularJS コントローラの動的ロード

遅延読み込みについてよく読んでいますが、$routeProvider を使用するときに問題に直面しています。

私の目標は、コントローラーを含む JavaScript ファイルをロードし、以前にロードされたこのコントローラーにルートを追加することです。

ロードする JavaScript ファイルの内容

このファイルは、angular ブートストラップが呼び出されたときに含まれません。つまり、ファイルをロードして、このコントローラーへのルートを作成する必要があります。

最初に、Javascript ファイルをロードする必要がある解決関数の作成を開始しました。しかし、ルート宣言でコントローラーパラメーターを宣言すると、エラーが発生しました:

「MouseTestCtrlA」は関数ではありません。未定義です

設定しようとしている呼び出しは次のとおりです。

私が読んだことから、コントローラーパラメーターは登録済みコントローラーである必要があります

controller – {(string|function()=} – 新しく作成されたスコープまたは登録済みコントローラーの名前 (文字列として渡された場合) に関連付けるコントローラー fn。

そのため、ファイルをロードできるファクトリを作成し、(スタイルを約束します!) 新しいルートを宣言しようとします。

以下のようなものが得られました。ここで、依存関係は、ロードする JavaScript ファイルのパスの配列です。

使用法

スクリプトローダー

問題

Angular が 'MouseTestCtrlA' を登録済みコントローラーとして解決できなかったことを意味する、この JavaScript エラー「'MouseTestCtrlA' は関数ではありません。定義されていません」がまだあります。

この点について誰か助けてもらえますか?

0 投票する
0 に答える
133 参照

javascript - コンテキストに応じてライトボックスまたはスタンドアロンとして動作するビュー

ABXの3 つのビューがあるとします。これらの URL は /A、/B、および /X です。

ABの両方に、 Xを指すリンクが含まれています。クリックすると、XはAまたはBの上にライトボックスとしてレンダリングされ、URL が更新されます。

一方、その URL を直接入力すると (つまり、ブラウザーに手動で入力することにより)、ビューXはスタンドアロンのページとして表示されます。

簡単にするために、 Xのコンテナーとコンテンツが両方の状態 (ライトボックスとスタンドアロン) で同じままであるとします。

主な問題は、ルートとディレクティブに関してこの問題を正しく解決する方法です。

ご意見ありがとうございます。

0 投票する
0 に答える
598 参照

angularjs - AngularJS - ng-view ng-repeat が $routeParams に依存している場合、「10 回の $digest() 反復に達しました」

私は Angular を初めて使用し、ルーティングを扱うのはこれが初めてです。質問が少しわかりにくい場合はご容赦ください。このアプリの実際のロジックと構造はもっと複雑で、いくつかのサービスを使用していますが、これは私が問題を抱えている部分の一般的な考え方です。私は本当にあなたの助けに感謝します! ありがとう。

解決した

同じテンプレートを再帰的に追加していました。テンプレート内で、その ng-repeat テンプレートを別のテンプレートに変更したところ、完全に機能しました。 http://jsfiddle.net/GeorgiAngelov/9yN3Z/111/

更新された jsFiddle: http://jsfiddle.net/GeorgiAngelov/9yN3Z/106/

Chandermani のおかげでフィドルを更新しました (すべてのコントローラーを削除し、そのコピーを 1 つだけ残しました)。私にそのエラーを出し続けます...理由がわかりません。

そのため、左側にメニューがあり、セクションと呼ばれる要素をそのメニューに追加できるアプリがあります。そのメニューセクション項目は、コントローラーにあるセクションと呼ばれる配列から派生し、セクションを追加すると、セクションという名前の配列に追加されます

*セクションの HTML *

その配列内のすべてのオブジェクトには、 rootsという別の配列があり、 Add Rootという別のボタンを使用して、 $routeParams id 変数に応じて、現在のセクションにオブジェクト (要素) をプッシュします。

ルーターから呼び出される HTML テンプレート

0 投票する
2 に答える
10792 参照

angularjs - AngularJS:RouteProvider で解決 - 成功/失敗を検出しますか?

routeprovider で解決策が見つかりましたが、約束を返すだけなので、成功か失敗かはわかりません。これは私が持っているものです

これで機能しますが、成功または失敗をどのように検出しますか。これを resolve メソッドに入力することもできますが、成功と失敗で何を返すのでしょうか。コントローラーにアイテムを注入する必要があることを思い出してください。

ここで例を見ましたが、これが必要なものであり、どのように使用するのか混乱していますか?

AngularJS - $routeProvider:resolve で $http の約束を拒否しました

手動の約束を返しているようです。

私が本当にやりたいことは、コントローラーに解決された変数をコントローラーに注入することです。失敗した場合は、コントローラーの失敗にもアクセスして、ユーザーに不可能であることを表示できるようにしたいと思います。問題によりレンダリングされます。

0 投票する
1 に答える
579 参照

angularjs - Kendo UI mobile の AngularJS ルーティング

Kendo UI モバイル、AngularJS、PhoneGap を使用してモバイル アプリケーションの開発を開始しています。Angular のルーティング機能を使用すると便利です。しかし、Kendo UI mobile には独自のルーティング システムがあります。Kendo UI モバイルの代わりに AngularJS ルーティング システムを使用する方法はありますか?

多分いくつかのラッパー...

0 投票する
2 に答える
483 参照

angularjs - Angularjs - $routing を使用 - 手動で "#/section/ + myId" を入力すると、ページがリセットされます

そのため、アプリにルーティングを実装しようとしています。これが私がやろうとしていることのサンプルjsFiddleです: http://jsfiddle.net/GeorgiAngelov/9yN3Z/114/

これまでのところ、すべてが正常に機能しており、セクションを移動するにつれて、ルーティングが変更され、すべてが正常に機能しています。

問題は次のとおりです。ローカル ホストのように URL バーにセクション ID を手動で入力すると、次のようになります。 /section/s-3 s-1 にリダイレクトされ、ページが更新され、セクションとルートがすべて失われます。これまでに追加しました。機能することもあれば、そのようにセクションを切り替えることもできますが、更新されることもあり、Enter を 2 回クリックすると発生します。

これは奇妙な問題であり、どうすればデバッグできるかわかりません。これが私の実際のルーティング サービスです。