問題タブ [angularjs-ng-include]
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 - XHR によって取得されたデータを使用するディレクティブを持つテンプレートに ng-include を使用する
SPA のすべてのビューに存在する永続的なメニューを含めるために、ng-include を使用しています。
問題は、各ユーザー タイプ (管理者、ゲスト、ユーザーなど) ごとにこのメニューに異なるオプションとコンテンツを表示したいことです。これには、サービス関数 authService.loadCurrentUser を最初に解決する必要があります。
このコンテンツを簡単かつ快適に管理する目的で、必要なアクセス レベルの属性を取得し、要素のコンパイル フェーズで、指定されたユーザーの権限が十分でない場合、属性を削除する簡単なディレクティブを作成しました。要素とそれは子です。
そのため、ng-include を routeProvider 関数を通過させようとして惨めに失敗した後、ng-init を使用しようとしましたが、何も機能していないようで、ログアウト時にユーザー ロールが未定義のままです。
メニュー全体を、ユーザータイプごとに適したテンプレートを含むディレクティブにするなど、新しいアプローチを試みようと考えていますが、まずはこの問題を解決することを試みたいと思います。
指令:
サービス:
メニューコントローラー:
メイン SPA HTML ページ:
管理者のみに表示されるメニュー要素:
ご協力いただきありがとうございます。
javascript - ng-include でパーシャルをロードする前に XHR リクエストを解決する方法
短縮版:
この plunkr ページはロールが未定義として取得されるため、表示されるはずのコンテンツが表示されませんが、クリックによってトリガーされると、ロールは正しいように見えます。
問題を強調するサンプル plunkr:
http://plnkr.co/edit/QHUpCv?p=preview
全体のバージョン:
アプリケーションのすべてのビューに対して永続的な静的メニューがあります。明らかな理由から、XHR リクエストを表示する前に解決したいと考えています。
an-init を使用してみましたが、関数呼び出しを非同期的に行うだけで、$q オブジェクトからの約束を使用しようとしましたが、どちらも役に立ちませんでした。
html:
コントローラ:
サービス:
ロール アクセス レベル ディレクティブを制限します。
angularjs - Angularjs 1.2: 繰り返しにテンプレートを含める
angularjs (1.2) の最後のバージョンに移行していますが、リピーターにテンプレートを含めることができないようです:
http://plnkr.co/edit/K7n9sNhXe4z99VMSqTlk?p=preview
templateUrl でディレクティブを使用できますが、ng-include のみでこれを行う方法はありますか?
ありがとう。
注:これは、最新の安定したangularjsバージョン(1.0.7)で動作します
編集:各繰り返し要素のエラー ログ (最新の Chrome バージョン):
angularjs - ng-include 1.2.0rc1 への更新後に動作を停止しました
昨日、古いバージョンを使用していたときは、すべて正常に機能しました。私のコードは次のようになりました:
今日、私は新しいバージョンにアップデートしましたが、もう動作しないようです。ng-include の使用方法のさまざまなバージョンを試してみましたが、以下はコンテンツがあるべき場所にコメントをレンダリングします。
コメント:
コード:
また、ビューをパーシャルからスクリプト タグに移動しようとしましたが、役に立ちません。スクリプトタグに移動する前に、パーシャルへの成功した xhr リクエストがありましたが、レンダリングされませんでした。
何が間違っている可能性がありますか?
編集:コードを変更せずにバージョンを元に戻すと、すべてが再び機能します。
angularjs - テンプレート値をパラメーターとして渡す ng-include テンプレートからスコープ関数を呼び出す
したがって、私の問題は自明のようなものです。角度テンプレートエンジンから取得したパラメーターをパラメーターとして渡したいと思います。
何かのようなもの:
問題は、次の plunkr で強調されているように、パラメーターとして渡された他の数値が正常に機能することです: http://plnkr.co/edit/GqTDpc?p=preview
しかし、テンプレート エンジンの値を使おうとすると、壊れてしまいます。
私の正確な問題を強調するプランカー: http://plnkr.co/edit/FdlBQ1
angularjs - IE8 でネストされた Angular ビュー
TLDR:
例: http://plnkr.co/edit/NeUWHh?p=preview
IE8 コンソールでのエラー: TypeError: 'childNodes' は null またはオブジェクト未定義ではありません
非常にシンプルなようで、すべての Webkit ブラウザーと 9 以上の IE でも動作しますが、IE8 では機能しなくなり、内部ビューの uc コンパイル形式が表示されます (中括弧とフィールド名を使用)。
サンプルコードとは異なる私の正確なコード:
ジョブグリッド.html:
ダッシュ.html: