我有一个服务会调用服务器并返回数据。我将服务绑定到范围内的变量。
例子:
- 让服务成为
DataModelService
- 在控制器中:
$scope.data = DataModelService
- 在视图中
<div ng-repeat="value in data.persons">{{value.name}}</div>
我的代码:
This is how my code looks like:
/**DataModelService**/
factory('DataModelService', [
'DataService',
function (DataService) {
var service;
service = {
changeState: function (params) {
DataService.changePersonState(params)
.then(function (response) {
service.loadData(response.data);
});
},
loadData: function (responseData) {
service.persons = responseData.persons;
}
}
return service;
}
]);
/**DataService**/
factory('DataService', ['$http',
function ($http) {
return {
changePersonState: function (params) {
return $http.post("url", params);
}
}
}
]);
/**DataController**/
.controller('DataController', ['DataModelService',
function (DataModelService) {
$scope.data = DataModelService;
}
]);
/查看/
<div ng-repeat = "person in data.persons" >{{person.name}} </div>
在视图中,我正在对数据中的一个键进行 ng-repeat,即 ng-repeat="value in data.persons",并且我还可以选择将人员的状态更改为活动或非活动,因此每当我进行更改时对于人的状态,向服务器发送一个调用并将数据设置到服务中,并且由于它绑定到视图,它应该自动更新数据。但是在我的情况下发生了什么,ng-repeat 并没有删除旧数据,而是将新数据附加到旧数据中。