問題タブ [angular-ng-if]

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 投票する
4 に答える
222357 参照

javascript - 複数の引数を持つAngular ng-if=""

私はAngular開発を始めようとしています。ドキュメントを確認した後も、いくつかの疑問が残ります。ng-ifに対応する複数の引数を持つa をどのように書くのが最善ですか

if( a && b)またif( a || b )

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

angularjs - Angularjs ng-if停止レンダリングdiv

私は AngularJS を学んdivでいます$index == 2

これは私のコードです:

Fiddle: http://jsfiddle.net/2prRw/3/

問題

「My element: 0」、「My element: 1」、および「My element: 3」は表示されません。

結果は次のとおりです。

ありがとう!

編集

期待される結果は次のとおりです。

0 投票する
5 に答える
65288 参照

angularjs - AngularJS ウォッチ DOM の変更

auto-carouselリンクされた要素のchildrenを反復処理する1 つのディレクティブがあります。

ng-ifただし、子はs 式がまだ解析されていないため、まだ DOM にロードされていません。

DOM ツリーに変更があったことを親ディレクティブが認識していることを確認するにはどうすればよいですか?

使用でき$timeoutましたが、信頼性が低いと感じています。ng-show代わりに使用することもできますng-ifが、それは質問に答えず、必要なものではありません。

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

javascript - ng-repeat 予期しない複数回の繰り返し

次のようなオブジェクトがあります。

ここに画像の説明を入力

したがって、基本的にオブジェクトの長さはわかりません。次のコードを使用して結果をレンダリングしています。

テーブルの最初の要素 (強調表示されている) を常にprimary=trueプロパティを持つオブジェクトにしたい。

上記のオブジェクトで期待される結果:

ここに画像の説明を入力

現在の結果:

ここに画像の説明を入力

オブジェクトに 3 番目の要素を追加すると、次のようになります。

ここに画像の説明を入力

フィドル: http://jsfiddle.net/UuzZT/

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

angularjs - ng-if内のangularjs ng-view

angular 1.2.10 を ngRoute、jquery 1.10.2 で使用する index.html に次のコードがあります。

最初のログイン ページ (ルートとして構成されていない) は、必要なすべての JavaScript ファイルをダウンロードしますが、ログインして ng-if が true と評価された後、ブラウザー内のすべての JavaScript ファイルに対して jquery によって一連の XHR が起動されていることに気付きます。コンソール:

コンソールは、これらの XHR が jquery.1.10.2:8706 から実行されていることを報告します

ドキュメントに基づいて、ng-if が true と評価されると、その時点で要素が作成およびコンパイルされるようです。これは ng-view と ngRoute に関係があり、これらがどのように接続されているかを想像していますが、この特定の動作が発生している理由をドキュメントから収集することはできませんでした. 誰かがこの振る舞いに何らかの洞察を与えることができれば、および/または私が取ろうとしていたアプローチに根本的に問題がある場合は、それを大いに感謝します.

注: ng-if を ng-show に置き換えた場合、この動作は発生しません。

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

javascript - ng-if が要素を追加/削除しているときに通知される

ng-if を使用して、インライン編集の目的でタイプヘッド入力を追加/削除します。ng-if 値は「編集」ボタンで更新されます

それで、テキスト入力が dom に追加されたら、テキスト入力にフォーカスを与えるための最良または推奨される方法は何ですか?

ありがとう

ライオネル

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

javascript - AngularJS 1.2.13 ng-if は $resource の結果を再評価しません

テンプレートに次のようなものがあります。

このスコープのコントローラーには、次のものがあります。 $scope.foo = $resource("path/to/resource").query();

リソースは find だけをロードし、単純な JSON 配列 (Chrome でリクエストを監視して確認) を返し、fooその配列を含む他のデバッグ ショーを正確に表示します。2 番目は期待どおりにクラスをdiv適用しますが、最初のクラスはまだfalse に評価されているため、レンダリングできません。foo-is-presentdivng-ifdiv

divリソースの結果がロードされたら最初に表示されるようにしたいので、これは正しくないようです。ここで何が欠けていますか?

編集配列がng-if空でなくても、「真実」のバージョンには配列が含まれていないことがわかりました。条件を に変更することでこれを回避できましたng-if="!!foo"が、これはハッキーに感じます。誰かがより良い洞察や解決策を持っている場合は、共有してください!

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

angularjs - トランスクルードされたスコープの ng-if がスコープの継承を壊す

そのフィドルは問題を示していますhttp://jsfiddle.net/LAqeX/2/

ページの一部をラップして非表示にするディレクティブを作成したいと考えています。そして、不要なバインディングを削除するために ng-if を使用したいと思います。しかし、いくつかの黒魔術が発生します。

これは私の好ましいディレクティブ コードです。

2 つのスコープを作成することになっています。

  1. title と visible の 2 つの変数を持つディレクティブ アイソレート スコープ
  2. 「通常の」スコープ ツリーからプロトタイプとして継承されるトランスクルード スコープ。

ただし、ng-if はトランスクルード スコープを現実から多少切り離し、トランスクルード スコープはコントローラから継承しません。フィドルを参照してください。問題が非常に明確に示されています。

そこで何が起こっているのか、それを解決する方法はありますか?

アップデート

スコープチェーンが壊れているように見える理由を見つけたようです。ng-if によって作成されたスコープは withIf ディレクティブの isolate ブランチに属します。そのため、コントローラーのスコープが存在することさえわかりません。しかし、問題は同じままです-そのような場合に ng-if を使用する方法。