問題タブ [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 投票する
1 に答える
239 参照

javascript - AngularJS の複数の ng-if が同時に更新されていません。なんで?直し方?

ソーシャル サインイン プロバイダーをリンクおよびリンク解除するための 2 つのボタンがあります。

たとえば、 Facebookのリンクを解除するたびに、POST 要求をサーバーに送信し、別の HTTP 要求を作成して、アカウントのリンクを解除 (またはリンク) した直後に最新のユーザー情報を取得します。

私が理解できない問題は、 Facebookのリンクを解除する前にほぼ 1 秒の遅延が発生する理由です。

私は2つのボタンを持っています。正反対の条件を持っているため、同時にアクティブにすることはできません。たとえば、アカウントを既にリンクしている場合、リンクを解除しようとすると、データが受信されるとすぐに新しいボタンが表示されますFacebookをリンクする (当然のことですが) Facebookのリンクを解除するボタンが消えるまでにさらに1秒ほどかかります.

これは AngularJS のライフサイクル管理と関係があるとほぼ確信しています。これを修正することは可能ですか?

.btn更新: この問題は、クラスのこの CSS プロパティであることが判明しました: transition: background-color 0.25s ease-out;

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

angularjs - angular jsでメモリリークを引き起こすNg-if

angular jsでメモリリークを引き起こすNG-IF!写真: https://www.mediafire.com/?ojoc55ccnyqlxyb

私のアプリには2つのページがあります

最初のページは、検索への入力を表示するホームページです

2 ページ目はメモリを解放するための空のページです。

リークをどのように検出しましたか?
リンクからアプリを実行します: http://www.mediafire.com/download/y5f6f326f3zo0ch/LeakProject_-_Copy.7z
クロムを匿名モードで使用し、F12 -> プロファイル -> ヒープ割り当てを記録します。ホームページをクリックした後、空のページをクリックしてさらに時間を繰り返すと、結果はリークしません。

しかし、検索するものを入力すると、その後、メモリを解放するために emptypage に移動します。漏れます。

空のページに移動すると、ホームページの ovNgListBox のスコープが破壊されることがわかりました。scope.textSearch の値が undefined に変わり、angualr.js の ng-if で $scope.$watch が実行されてスコープが破棄されると思います。しかし、何かが逆です: html のスコープですが

破壊されます。

しかし、範囲

壊れていません。どうして?

scope.showFilter の値を false に変更しても、in-if の $scope.$watch は呼び出されません。

スニペット コード:

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

angularjs - AngularJS - ng-if - ボディにクラスがある場合に表示

を使用して要素を表示/非表示にしたいng-if

たとえば、ボディが特定のクラスを持っている場合に要素を表示したい

私は次のことを試しましたが、成功しませんでした - これは有効な表現ですか?

<div ng-if="document.querySelector('body').className.indexOf('bodyHasThisClass') >= 0"></div

どんな提案でも大歓迎です。プランクの例を次に示します: http://plnkr.co/edit/kzXXg0sne8nyQZuufao7?p=preview


AngularJS ドキュメントから: https://docs.angularjs.org/guide/expression

Angular 式は、 window 、 document 、 location などのグローバル変数にアクセスできません。この制限は意図的なものです。微妙なバグの一般的な原因である、グローバル状態への偶発的なアクセスを防ぎます。

0 投票する
6 に答える
159232 参照

angularjs - Angular ng-真でない場合

なぜこれが機能しないのですか。

<li ng-if="!area"></li>

以来、少し非論理的な感じ

<li ng-if="area"></li>

うまく動作します。

「エリア」はスコープ内で true/false として定義されています。これに対する回避策はありますか? どちらも DOM でアイテムをレンダリングするため、ng-show/ng-hide は使用しないことをお勧めします。

0 投票する
3 に答える
253 参照

angularjs - 角度表示 NG-リピート表示

ページに3つの異なるタイプを表示する次のコードがあります。

  1. 製造
  2. 発達
  3. メンテナンス

そして、filteredResults にコンテンツがない場合、セクション全体 (Production h4 および table/tbody) を非表示にしたいと考えています。(コンテンツがある場合のみ表示)

現在、テーブル内のコンテンツに対して ng-if を試しており、ng-repeat が発生するかどうかを確認し、ng-repeat にコンテンツがある場合にのみレンダリングしますが、コンテンツがない場合はセクション全体 (テーブルを含む) を非表示にしたいと考えています。これを達成する方法を知っている人はいますか?

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

angularjs - AngularJs ng-if日付を比較する

ng で 2 つの日付を比較しようとしていますが、これが私の jade ファイルのように見える場合です。

最初のセグメントの開始日が今日以降の場合、このコードは私の UI に li を追加することを願っています。

とにかくこれを機能させる方法はありますか?

0 投票する
3 に答える
3191 参照

javascript - 非配列オブジェクトでのng-repeat

ng-repeat は配列でのみ機能することを知っています。

私の問題は、サーバーから取得したオブジェクトが配列なのかオブジェクトのみなのかがわからない場合です。
配列かオブジェクトかを動的に判断する必要があり、配列の場合にのみ ng-repeat を使用します。

私の質問は、オブジェクトが配列の場合のみ、条件付きで ng-repeat を使用して実装する最良の方法は何ですか?

私はこの方法で問題を解決しようとしました:

しかし、それは機能していません。