我目前正在使用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>
我已经环顾网了,不幸的是,这样的例子看起来很少。
答案 0 :(得分:1)
我目前正在使用一项服务(DataRepo
),该服务存储您想要全局保存的所有数据。例如,您有一个input
,用户可以在其中键入有关其订单的一些附注,如果他们导航回此站点,他们可能会再次看到他们的文本。
<input type="text" ng-model="DataRepo.orderNotes">
在您的控制器中,您注入DataRepo
服务并将其绑定到范围:
$scope.DataRepo = DataRepo;
通过这样做,用户输入将自动存储到DataRepo
服务中。