我开始学习Angularjs。
我成功获取数据并将其分配给模型。
coreService.getCompanies().success(function(data) {
$scope.companies = data.companies;
});
但是,我不清楚,当我插入或删除实体时如何更新模型。
categoryService.bulkDeleteCategories(companyId, selectedCategories).success(function(data) {
console.log('success category deletion');
$modalInstance.close('Success');
}).error(function(data, status) {
console.log('There was an error deleting categories' + data);
});
在上面的代码片段中,我通过对话框插入实体。请求返回200 OK。但是我现在如何更新模型呢?我一直在提供刷新链接,从服务器重新获取数据并更新模型,但我相信必须有更好的方法。
答案 0 :(得分:2)
将范围模型替换为您返回的数据,与您一样。 ($scope.companies
与data.companies
)
在您的成功处理程序中,通过push
将上传的对象本地添加到您的模型中。这样,网站上的模型只会在数据库更新时更新(即请求成功)
在您的成功处理程序中,也可以通过splice(index, 1)
从本地模型中删除该对象。同样,只有当数据库删除了项目(也就是请求成功)时,您的网站模型才会更新
答案 1 :(得分:1)
您没有提供足够的代码来提供完整的答案,但是在您的成功函数中添加以下内容
$scope.companies[companyID].categories = selectedCategories
换句话说,$ scope是你的模型,你可以像调整任何其他变量一样进行调整。更新模型后,假设您在服务中使用了$http
,那么您的屏幕数据将准确刷新。