使用AngularJS添加/编辑数据的最佳实践

时间:2015-02-09 12:59:01

标签: angularjs single-page-application

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

我想知道的是确定应用程序是处于Edit还是Create状态的最佳做法?

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

我是否需要使用具有确定状态属性的service/factory,例如:

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

然后我可以根据编辑状态从相关控制器设置addOrder属性,并在order时填写addOrder: true属性以及订单的详细信息。< / p>

我已经环顾网了,不幸的是,这样的例子看起来很少。

1 个答案:

答案 0 :(得分:1)

我目前正在使用一项服务(DataRepo),该服务存储您想要全局保存的所有数据。例如,您有一个input,用户可以在其中键入有关其订单的一些附注,如果他们导航回此站点,他们可能会再次看到他们的文本。

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

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

$scope.DataRepo = DataRepo;

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