問題タブ [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.
angularjs - routeProviderからのAngularJS表示ダイアログ
特定のルートが要求されたときに routeProvider からモーダル ダイアログ ウィンドウを開くなど、[機能を実行する] ことは可能ですか?
PS:ルートをキャンセルして、代わりにダイアログ ボックスを開きたいです。ダイアログボックスを開くことだけが問題ではありません。ルートのキャンセルは大きな問題です。
angularjs - AngularJS を使用した「ポータル」または MDI のような機能を備えた大規模な単一ページ アプリケーション
angularjs を使用し、必要に応じて ui-router を使用して、非常に大きな単一ページ アプリケーションを最適に構成する方法に関する質問があります。
私のシナリオはこれです。
- トレンド モジュール、「ビジネス」アナライザー、ダッシュ ボード/ワークスペース、その他多数のコンポーネントが複数あります。
- 古い学校の MDI Windows アプリケーションのように、ランチャー サイドバーからモジュールを個別のタブで 1 回以上開くことができます。
- 一部のモジュールは完全に独立しており、一部のモジュールは、ページのどこかにある共通のフィルタリング ウィジェットを使用/共有する場合があります。
一般的な考え方は、これらの各コンポーネントを個別のタブで複数回開くことができるため、ユーザーはワークフローの一部として簡単に切り替えることができます。もう 1 つのことは、それらすべてに対して URL リンクをサポートする必要があることです。URL を開くには、すべての「タブ」を再度開く必要はなく、URL がリンクしているタブだけを開きます。
angularjs を使用する場合、これまでの私の限られた理解では、これを達成するための最良の方法は、プロジェクトを大規模なアプリケーションに推奨される個別のビジネス モジュールに分割することであることが示されました。関連するテンプレート、サービス、ディレクティブなどを含む各ビジネス モジュール。
次に、ng-include を使用してテンプレートをインクルードし、各ビジネス モジュールのコントローラーをインスタンス化します。同じコントローラーを複数回インスタンス化して、独自のデータを別々に保持できることをテストしました。特定のコントローラーが作成されるたびに、必要なテンプレートを含める必要もあります。これは、同じモジュールを別々のタブで複数回インスタンス化したい場合をカバーします。
これはURLリンクの問題を解決しませんが、この問題を解決する可能性のある複数のui-viewをサポートするui-routerの代替案に私を導きますが、私はまだそれについて十分に知りません. ui-router を使用すると、各ビューの「インスタンス」を含む URL 構文を含めることができると思いますが、それをどのように行うかはわかりません。手動でブートストラップされた複数のアプリを使用するという考えは問題外のようです。これは、異なるモジュール間の通信の可能性を減らし、一般的な意見ではこれは悪い考えであることを示しているようです。
この状況での良いアプローチについて、フィードバックや建設的なコメントをいただければ幸いです。
angularjs - AngularJS ng-template ディレクティブが routeProvider に見つかりません
に含まれる複数の部分テンプレートを含めようとしていますng-view
が、routeProvider
ディレクティブは常にサーバーからファイルを取得しようとしています (埋め込まれた ではありませんng-template
)。
HTML で次のように定義しています。
私のapp.js
ファイルには次のものがあります。
ページをロードするたびに、ブラウザー コンソールにエラーが表示されます。
私のページの AngularJS アプリ セクションは次のようになります。
ng-template
AngularJS がスクリプト ディレクティブを読み込めないようにするために何が欠けていますか?
angularjs - アプリがangularjsで初期化されたときにリダイレクトする
アプリが初期化されたときの最初のページの読み込みで、ユーザーをログインページにリダイレクトしたいと思います。コードの関連部分はこれだと思います
https://github.com/fnakstad/angular-client-side-auth/blob/master/app/js/app.jsに基づいています。問題は、ページの読み込み時にアラートがトリガーされますが、場所は変更されません。アプリのナビゲーション項目をクリックする必要があり、ログイン アクションが呼び出されてルートが変更されます。
これは機能しますが、冗長に思えます。また、なぜアラートはトリガーされるのに場所の変更はトリガーされないのでしょうか?
ページ全体の読み込み時に場所が変わらないのはなぜですか? これを修正する方法は?
完全なコードhttp://jsfiddle.net/qfSC3/ですが、フィドルは機能しません。
events - AngularJS:約束が完了した後にイベントのDefault()を防ぐ方法は?
次のようなコードがあります。
このように解決しようとするとpromises
:
event
(非同期実行のため)成功し、しばらくすると解決されなくevent
なりました。promises
event
myとリンクする方法はありpromises
ますか?関数が終了した後ではなく、約束が解決された直後に防止されますか?
javascript - AngularJS ディレクティブが属性の変更に反応しない
ページにチャットルームを配置するために使用するチャット ディレクティブがあります。
HTML は次のようになります。
これは「標準」というファイルにあります
angularjs-ui-router を使用して、そのビュー内でチャットを提供するチャット ディレクティブを使用して親ビューを作成しています。これは、最初のページの読み込み時に正常に機能し、チャットが読み込まれます。しかし、ページ/チャット ルームを変更すると、別のコントローラーを使用してsetCurrentChatID()
. これによりcurrentChatID
、DOM のチャット要素が変更されます。チャット要素のプロパティが angularjs-batarang の新しい ID に変更されることもわかりますが、チャット ディレクティブのコントローラーは実行されません。これを適切に機能させるにはどうすればよいですか?chatID が変更されたときにチャットのコントローラーを有効にするにはどうすればよいですか?
ありがとう。
angularjs - angularjs ui-routerロケーションパスがフォワードスラッシュを認識しない
angular ui router / stateProviderを使用しています。ただし、2番目のスラッシュが無視された後、URLの任意の部分を設定し、常にこの状態に送信します。
スラッシュが 1 つしかありません。以下の状態に行ってもlocalhost/contacts/asdf
動かない。
$stateProvider.state('test', { url: "/contacts/asdf", views: { 'main': { templateUrl: '/tmpl/contacts/asdf', controller: function () { console.log('thisここでは機能しません') } } });
これは $location のコンソール ログです。ご覧のとおり、$location は URL の最後の部分のみをパスとして認識します。私が知る限り、それは間違っています。その直前の「連絡先」がありません。どの URL も、URL の部分が 1 つしかないものとして解釈され、board
状態に送信されます。これを修正するにはどうすればよいですか。ありがとう。
編集:これはangular 1.1.5が原因であることがわかりました。1.1.4 に戻すと、これはありませんでした。
javascript - ブラウザの戻るボタンで前のページに戻る、OK - プレーンな JavaScript で戻る、OK ではない
私のウェブサイトには製品ページがあり、製品をクリックすると製品の詳細に移動します。
商品ページのリンクはこちらhttp://www.dummyurl.com/Index.html#/category/1/Foam?price=13.13-26.25&color=Green
商品詳細ページのリンクはhttp://www.dummyurl.com/Index.html#/products/2450-Kunda/5036702024506?price=13.13-26.25&color=Green
ブラウザの戻るボタンをクリックすると、リンクのある製品ページに拒否されます: http://www.dummyurl.com/Index.html#/category/1/Foam?price=13.13-26.25&color=緑
しかし、製品詳細ページにも html ボタンが必要です。ボタンの背後には、次のコードを含むプレーンな Javascript があります: $window.history.back();
戻るボタンをクリックすると、次の URL に拒否されます: http://www.dummyurl.com/Index.html これは、Web サイトを起動したときの開始 URL であり、元の URL ではありません。
AngularJS のルーティングにより、デフォルトの URL に送られているようです。
誰かがこれを修正するアイデアを持っていますか?
backbone.js - angularjsのdivにテンプレートを追加するにはどうすればよいですか
angular js で実装しようとするバックボーンのいくつかの概念に行き詰まっています。backbonejs では、特定の div タグにテンプレート (html ページ) を追加し、その div 自体をレンダリングできます。angularjsで同じことをすることは可能ですか? テンプレートを div に追加してレンダリングしますか? </p>
angularjs - ページのリロード時の問題
私の問題は単純です。私は自分のアプリのページにいます。ブラウザでリロード/更新ボタンを押すと、同じページをロードする代わりに/homeにフォールバックします。奇妙なことは、最初の瞬間に試行することですページをリロードしますが、何かが発生し (コンソール エラーは発生しません)、/home にフォールバックします。
明確にするために、このサイトマップを取得したとしましょう
/home、/title、/title/info の 3 つのページがあります。
したがって、/title/info (localhost:3000/#/title/info=123) にいて、リロード/更新ボタンを押すと、/title/info を表示する代わりに、/home (localhost:3000/#/) にフォールバックします。家)
AngularJS の安定版を使用しています。
だから、誰でも私がこれを修正するのを手伝うことができます。
前もって感謝します。
**編集**これは、問題がないかどうかを確認するためのapp.jsファイルへのリンクです。