我的应用程序中有两个页面,一个显示事物列表,另一个显示该列表中的单个项目。我已经构建了一个函数,通过调用服务器端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?
});
}
答案 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