アプリケーションに、ユーザーのリストを表示するテーブルなどのリスト ページがあるとします。テーブルの各行には「編集」というボタンがあり、これをクリックすると、ブラウザの右側に右パネルが表示され、そのユーザーのコンテンツを編集するためのフォームが表示されます。フォームが保存されるか閉じられると、右側のパネルは消えます。ng-hide/ng-show を使用して編集フォームを表示/非表示にする人もいれば、ルーティングを使用する人もいます。私の質問は、最善のアプローチとその理由です。
3 に答える
何が欲しいかによると思います。ルーティングを選択すると、完全な URL があるため、そのページをブックマークできます。しかし、あなたが一緒に働くことを選択したとき、 nghide/ngshow
あなたはできません。
を使用する代わりに、 を使用ngshow/ng-hide
することも考えられますng-if
。違いはng-if
、Dom ツリーから HTML を削除することです。リストに 100 個の項目がありng-hide/ng-show
、Dom ツリーにロードされたすべてのデータを使用しているとします。ただしng-if
、必要な html を使用する場合は、必要な場合にのみ dom に追加されます。
ng-show / ng-hide は、HTML にテンプレートが含まれているが、何らかの条件に基づいて表示/非表示にしたい場合に使用されます。
ルーティングは、完全に別の html に移動するために使用されます。
追加/編集は別の機能であり、リストを表示するため、理想的にはこれらのフォームは別のページに表示する必要があります。ただし、UI の設計方法によって異なります。
ADD/Edit フォームまたは ng-show/ng-hide のルーティングを使用できます。
お役に立てれば。
あなたの説明から、表示/非表示を使用したいようです。1 つのエントリを編集している間はリストの残りの部分を残しておき、そのエントリを保存したらすぐにリスト ビューに戻りたいとします。編集フォームに対して次のようなことを行うことができng-show="edit_object != null"
ます。編集ボタンをクリックすると、編集$scope.edit_object=row
するオブジェクトのコンテンツをフォームの入力に設定して入力します。編集フォームを保存または閉じると、 を設定できます$scope.edit_object=null
。