問題タブ [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.
angularjs - ng-if が期待どおりに機能しない
ng-if
すべてのhtmlを常にDOMに配置したくないため、タブに基づいて一部のデータを表示および非表示にするために使用しようとしています。これが私がやろうとしていることです。ページが読み込まれたときにのみ機能しているようですng-if
。その後、サブタブをクリックすると、スコープ変数が更新されますが、UI に変化は見られません。助けてください。
ありがとう。
javascript - AngularJS ng-if ディレクティブのパラメーターを無効にするにはどうすればよいですか?
簡単な例:
true または false に相当するルーティング パラメーター (/Home/:isLoggedIn) があります。(/Demo/#/Home/false) とコントローラーのプロパティ
this.loggedIn = this.routeParams.loggedIn;
それぞれ ng-if 属性を持つ 2 つの要素を持つビュー (Home.html) があります。
/Demo/#/Home/true に移動すると、最初の要素が表示され、2 番目の要素は表示されません。/Demo/#/Home/false に移動すると、最初の要素は表示されず、2 番目の要素も表示されません。
私は、loggedIn の値が実際には false である場合、!home.loggedIn パラメーターが true に評価されることを期待します。
ここで何かアドバイスはありますか?
angularjs - ng-repeat で ng-if を使用できない
ng-repeat 内で ng-if を使用しようとしましたが、ng-if が正しく機能していないようです。
StackOverflow でいくつかのフォーラム リンクを参照しましたが、役に立ちません。
angularバージョン1.3.0を使用しています
HTML
コントローラ
最初の条件に従って、最初の行は表示されるべきではありませんが (詳細については、以下のスクリーンショットを参照してください)、行は表示されています。
参照リンク: Using ng-if inside ng-repeat?
今、アドバイスに従ってdivにコントローラーを追加しましたが、同じ問題に直面しています
以下に、参照用のスクリーンショットを示します。この問題を解決する方法を教えてください。さらに説明が必要な場合はお知らせください。
以下は、angular 1.3 バージョンを使用した作業モデルのスクリーンショットです。angular 1.0.2 を使用すると、nf-if が正しく機能しません (以下のスクリーンショットを参照)。
angularバージョン1.0.2のスクリーンショット
angularjs - ng-if 内の ng-repeat からfilteredItemsCollectionを設定しようとすると、親スコープが値を継承できなくなります
ng-if ブロック内にネストされた ng-repeat があります。
<div ng-repeat="item in filteredItems = (fullItemCollection | filter:searchQuery)>{{item}}</div>
コントローラーから $scope.filteredItems にアクセスしようとすると、filteredItems が表示されません。ng-if によって作成されたスコープと関係があると思いますが、以前に同様の設定を問題なく使用したことがあると確信しています。
jsfiddle をデモとして作成: http://jsfiddle.net/gLdeM/
また、この動作が ng-if なしで実際に機能することを示すために jsfiddle を作成しました: http://jsfiddle.net/LgSAL/1/
注: plnkr が大流行していることは知っていますが、何らかの理由でファイアウォールが plnkr での保存をブロックしています :(
angularjs - Angular を使用する Internet Explorer で、overflow-y が ng-if で機能しない
私は Angular 1.2.16 を使用しており、IE 11 でテストしています。
私のアプリの settings.html には、次のセクションがあります。
「スクロール可能」クラスは次のように定義されます。
そしてrecipient.form:
ボタンをクリックすると、コントローラーが「inputMode」になります。これは、Chrome、Safari、および Firefox で問題なく動作します。IE では、ボタンをクリックして「inputMode」に入ると、何も起こらないように見えますが、ウィンドウのサイズを少し変更すると、フォームが表示されます。
以下により、IEで動作します。
- セクションから「スクロール可能な」クラスを削除します(必要なためオプションではありません)
- 「inputMode」条件なしでフォームを直接表示します (オプションではありません)。
ng-show も無駄に試しました。
何か案は?
ありがとう。
angularjs - テーブルでng-ifを使用して条件に基づいてtdを表示する方法
DIV 内の ng-if に関する以前の投稿を参照して、こちらのリンクを参照してください:: DIV 内の Ng-If ですが、td で ng-repeat を使用してテーブル内の ng-if で同じことを試してみたところ、そうではないようですうまくできた。間違っている場合は修正してください。条件に基づいて列を表示しようと2回試みましたが、何も機能しませんでした。以下に、参照用のコードを示します。誰かがこれについて私を助けてくれませんか。さらに説明が必要な場合はお知らせください。
HTML
試してください :: 1
試してください :: 2
javascript - Angularjs- 存在しない dom 要素のデータを保持する (ngIf=false)
私のフォームには、タイプごとに異なるフィールドがあります。
ユーザーが最初に電子メールを選択し、件名フィールドに何かを書き込んでからSMSタイプに戻すと、うまく機能しますが、$ http.postでメッセージオブジェクトを送信すると、domが要素が削除されました。
どうすれば修正できますか?既存の dom 要素にリンクされているデータのみを送信したい。
ありがとう
angularjs - オプション要素内のAngular ng-ifとng-repeatが機能しない
利用可能な通貨を一覧表示する select 要素があります。デフォルトの通貨には、名前の前に「デフォルト」という接頭辞が必要です。何らかの理由で、そのプレフィックスがリスト内のすべての通貨に表示されています。
HTML のテスト:
テスト JS: