angular.js从ng repeat更新对象数据

时间:2016-03-16 08:02:24

标签: javascript angularjs

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

我用这种方式调用函数:

 ... 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?
  });
 }

2 个答案:

答案 0 :(得分:1)

您也可以使用一些简短的方法来替换当前对象。您需要在change_status函数中传递该对象的当前索引,并且在成功之后,您需要使用{ - 3}}函数替换该对象,如as -

$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);
  });
 }

答案 1 :(得分:0)

你需要调用那个提供列表的功能,当变换_status&#39;成功就像 -

$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

中再次自动绑定数据