ng-hide ng-show 或 routing to show edit/add 形式

Ng-hide ng-show or routing to show edit/add form

假设一个应用程序有一个列表页面,例如显示用户列表的 table。 table 的每一行都有一个名为 "Edit" 的按钮,单击此按钮后,浏览器右侧会出现一个右侧面板,其中包含用于编辑该用户内容的表单。保存或关闭表单时,右侧面板消失。 我看到有些人使用 ng-hide/ng-show 到 show/hide 编辑表单,而其他人使用路由。 我的问题是什么是最好的方法以及为什么。

我想这取决于你想要什么。当您选择使用路由时,您可以将该页面加入书签,因为您有完整的 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 中包含的模板,但只是想 show/hide 基于某些条件。

路由是用来去一个单独的html。

由于 Add/Edit 是一个单独的功能,然后显示列表,理想情况下,这些表单应显示在单独的页面中。但这取决于UI是如何设计的。

您可以将路由用于 ADD/Edit 表单或 ng-show/ng-hide。

希望这对您有所帮助。

根据您的描述,您似乎想使用 show/hide。当您编辑一个条目时,您希望列表的其余部分仍然存在,并且当您保存该条目时,您希望立即返回列表视图。您可以为编辑表单执行类似 ng-show="edit_object != null" 的操作,当您单击编辑按钮时,您设置 $scope.edit_object=row 并使用要编辑的对象的内容填充表单的输入。保存或关闭编辑表单时,可以设置$scope.edit_object=null.