最近見たように、ngSwitch
はちょっと隠すのではなくDOMから要素を完全に削除する点でngIf
のように機能します。今私のアプリケーションでは、これは私に、私の隠されたDOM要素のプロパティにアクセスする必要があるならば、不必要に高価で潜在的に問題のある行為として私を襲う。同時に、異なるngShow
ディレクティブの束とは対照的に、ngSwitch
構文の清潔さが気に入っています(これは、「デフォルト」の振る舞いも含めません)。このディレクティブが要素を隠すだけでなく、要素を完全に削除しないようにする方法を変更できる方法はありますか?ありがとう。Angular.js:DOM要素を追加/削除するのではなく、表示/非表示に切り替える
答えて
いいえ、ngSwitchを使用すると、ngShowとngHideのようにノードを非表示にする方法はありません。その条件が真であればngSwitchWhenノードだけが作成され、他のノードはすべてコメントされます。 ngSwitchの利点は、domがより軽くなることです。
私は参照してください。私は文法の清潔さが気に入っていますが、毎回コンポーネント全体を消去して再初期化できるかどうかはまだわかりません(ナビゲーションシステムのタブシステムに使用していますが、その多くに複雑なコンポーネントがありサーバーやその他のもの)。 – Okarin
新しい返信を投稿するのではなく、次回は元の投稿を編集するだけです。 –
私はあなたの必要性をよく理解していました。以前は同じ必要性があります。 私はこのようなカスタムディレクティブでngSwitchを使用するためにあなたをアドバイス:
<div ng-switch="mode">
<directive-a ng-switch-when="a"></directive-a>
<directive-b ng-switch-when="b">...</directive-b>
<directive-c ng-switch-default>...</directive-c>
</div>
、あなたがtemplateUrlのウィッヒが第二のキャッシュを使用します使用して、あなたのディレクティブdirectiveA、directiveBとdirectiveCの定義で指令の呼び出し。
2番目の方法は、すべてのディレクティブでng-showを使用することですが、ng-switchはdomをより軽くできます。
- 1. UI要素を非表示/表示vs追加/削除(スウィフト)
- 2. React - 要素の非表示を切り替える
- 3. 特定の要素に表示/非表示を切り替えます
- 4. Swiftで表示/非表示にするUITextFieldの切り替え
- 5. Javascriptは、パスワードの表示と非表示を切り替える
- 6. タグを表示/非表示に切り替える方法
- 7. ボタンの要素表示を切り替えるには
- 8. ExtJS:チェックボックスのチェックボックスの表示/非表示を切り替える
- 9. 非表示の.not()の表示を切り替える
- 10. Androidユーザーインタラクションの表示と非表示を切り替える
- 11. フレックス - コンボボックスの表示/非表示を切り替える
- 12. スタックビューの表示と非表示を切り替える
- 13. divの表示/非表示を切り替える
- 14. divの表示/非表示を切り替える
- 15. UIボタンの表示/非表示を切り替える
- 16. jquery異なる要素の表示と非表示を切り替える...混乱する
- 17. C#コメントを表示/非表示を切り替える
- 18. 表示/非表示を切り替える(jQuery)
- 19. マップボックスjs;表示と非表示を切り替える
- 20. HTML - JavaScript - 要素の追加と削除/非表示
- 21. テーブル内でのjQueryの表示/非表示の切り替え
- 22. divを表示/非表示に切り替え
- 23. 表示/非表示を切り替えるときの表示プロパティ
- 24. jQuery表示/非表示 - アクティブなクラスの追加/削除
- 25. Jqueryで表示を切り替えてDivsを非表示にする
- 26. jQueryイージングアニメーションの表示/非表示の切り替え
- 27. Androidのレイアウトの表示非表示切り替えボタン
- 28. Vue.js v-if表示/非表示の切り替えの場合
- 29. Windowsフォーム間の表示と非表示に切り替えるには?
- 30. 特定のModel3DGroupを3Dで表示/非表示に切り替えるXAML
Angularはオープンソースプロジェクトなので、技術的にはできます。しかし、私はそれに反対し、むしろあなたが望むやり方で行動する独自の指示を作成します。 – Baruch
これはAngular 2+かAngularJSですか? Angular 2+には 'ngShow'がありません。AngularJSには' ngSwitch'、 'ngIf' AFAIKはありません。あなたの質問をより明確にしてください。角度(2+)それ自体は何も提供しません。あなたはあなた自身を作ることができます。 –
申し訳ありません、AngularJS。現在v1.6.5を使用しています。私はそれがいくつかのパラメータを設定することによって可能かどうか、私が気づいていない別の指示があったかどうか疑問に思っていました。 – Okarin