角度.js从NG重复更新对象数据

angular.js updating object data from ng repeat

本文关键字:更新 对象 数据 js NG 角度      更新时间:2023-09-26

我的应用程序中有两个页面,一个显示事物列表,另一个显示该列表中的单个项目。我构建了一个函数,该函数通过调用服务器端 api 来更新状态,然后返回修改后的项目 我现在如何使用新项目更新我的视图?我现在想在商品详情页面上更新我的列表中的状态?奥维

我这样调用函数:

 ... href="#" ng-click="change_status(i.item_id,2)">In Text</div>

在我的控制器中:

 $scope.change_status = function (id, sts) {
    MySrv.changeStatus(
    { item_id: id, item_sts: sts, user_id: window.UD.user_id      
 })
 .then(function (response) {  
  //I am getting back my object here ->How can i now 
  //update the view for this specific object?
  });
 }

您也可以使用一些简短的方法仅替换当前对象。您需要change_status函数中传递该对象的当前索引,成功后,您需要使用拼接函数替换该对象,例如 -

$scope.change_status = function (id, sts , index) {
    MySrv.changeStatus(
    { item_id: id, item_sts: sts, user_id: window.UD.user_id      
 })
 .then(function (response) {  
     yourObjectList.splice(index,1,response);
  });
 }

您需要调用当"change_status"成功时提供列表的功能,如下所示 -

$scope.change_status = function (id, sts) {
    MySrv.changeStatus(
    { item_id: id, item_sts: sts, user_id: window.UD.user_id      
 })
 .then(function (response) {  
 // here call that function which will get list again like $scope.getList()
  });
 }

Angular 会自动再次绑定数据ng-repeat