使用 AngularJS 的 adding/editing 数据的最佳实践

Best practices for adding/editing data using AngularJS

我目前正在使用 AngularJS 开发 SPA 应用程序,它允许最终用户通过表单添加和编辑订单。

我想知道什么是确定应用程序处于 EditCreate 状态的最佳实践?

例如,当我单击显示为 'Add New Order' 的菜单项时,我希望显示一个名为“order.html”的部分视图,其中所有输入字段均为空白。如果可能的话,我还想在编辑订单时重新使用相同的视图,其中的输入字段是根据当前正在编辑的订单预先填写的。

我是否需要使用 service/factory 来确定状态,例如:

angular.module('app')
    .factory('orderService', ['$http', function($http) {
        var state = {
            addOrder: false,
            order: {
                orderRef: "",
                orderDate: ""
            }
        };
    }]);

然后我可以根据编辑状态从相关控制器中设置addOrder 属性,并在order 属性中填写详细信息addOrder: true.

时的顺序

我在网上看了一圈,不幸的是这样的例子似乎很少。

我目前正在使用一项服务 (DataRepo),该服务存储您希望在全球范围内保留的所有数据。例如,您有一个 input,用户可以在其中输入一些关于他们订单的旁注,如果他们导航回到这个站点,他们可能会再次看到他们的文本。

<input type="text" ng-model="DataRepo.orderNotes">

在您的控制器中,您注入 DataRepo 服务并将其绑定到范围:

$scope.DataRepo = DataRepo;

这样做,用户输入将自动存储到 DataRepo 服务中。