既存の角サイトを移行中に、迷惑な問題が発生しました。最初の症状は、特定のコントローラがログイン直後に初期化関数を実行していないことでした。私はログに記録して追跡し、最終的にはページのデザイン上の欠陥であることに気付きました。基本的に、index.htmlには<header>
,<ng-view>
および<footer>
が含まれています。私はログイン後に評価したいヘッダーにあるng-if
属性がいくつかありますが、ビューが再ロードされる唯一のものであるため、ヘッダーコントローラーを再初期化していないため、ng-if値を更新しませんでした。angularjsの動的ヘッダー/メニュー
その後、完璧な解決策のように思えるngIncludeを思い出しました最初にテンプレートをロードし、ビューが変更されたときに再初期化しません。だから、私はHeaderControllerを別のコントローラーやサービスに渡して、この1つの頑強なブール値をソートのプロキシを通して制御するという明るい考えを得ました。それもうまくいきませんでした。次に、関数とブール値を別のサービスに入れて、ヘッダーコントローラーでそのプロパティーをミラーリングしようとしましたが、これまでのところ、私はこの問題を解決できませんでした。
私はインデックスの複数のビューについて多くの研究を行いましたが、これまではこのui-routerについて多くのことを聞いていましたが、私はまだそれが私が行きたい方法であると確信していません。それは単純な解決策ではないようです。私はまだテンプレートにng-includeを入れてみませんでした。なぜなら、メニューを変更するたびに100ページを更新しなければならない時が来ているように感じるからです。
私はこれに一日を失った。他のテンプレートの外で生きたい私のヘッダーコントローラーのこの1つのプロパティーの評価をどのようにトリガーするか教えていただけたら、教えてください!
を約束を共有することが、このスレッドhttp://stackoverflow.com/questions/18914183/angularjsのようにルーティングの問題です - ルート - 発行 - コントローラ - ロードしない? –
@ralfhtpヘッダーが独自のルートを取得しない – Kraken