AngularJS RESTful Web 服务 - 添加行到 table 而不刷新
AngularJS RESTful Web Service - Add row to table without refresh
我正在尝试在保存新对象后向 table 添加新行。
范例如下:
var demoApp = angular.module("demoApp", ["ngResource"]);
// Controller
demoApp.controller("saveCategoryController", function($scope, saveCategoryService, categoriesService){
$scope.categories = categoriesService.query();
$scope.createCategory = function(){
saveCategoryService.saveCategory($scope.category);
// I want to avoid this method to refresh my table.
// $scope.categories = categoriesService.query();
};
});
// Factory
demoApp.factory("saveCategoryService", function($resource){
return $resource("/demopro/saveCategory", {}, {
saveCategory: {
method: "POST"
}
});
});
demoApp.factory("categoriesService", function($resource){
return $resource("/demopro/categories", {}, {
listAllCategories : {
method: "GET",
isArray: true
}
});
});
有什么方法可以在不再次查询我的数据库的情况下在我的 table 中显示新行吗?
是的,逻辑上你会 return 保存对象并将其添加到当前列表:
$scope.createCategory = function(){
var newCategory = saveCategoryService.saveCategory($scope.category);
$scope.categories.push(newCategory);
};
我正在尝试在保存新对象后向 table 添加新行。 范例如下:
var demoApp = angular.module("demoApp", ["ngResource"]);
// Controller
demoApp.controller("saveCategoryController", function($scope, saveCategoryService, categoriesService){
$scope.categories = categoriesService.query();
$scope.createCategory = function(){
saveCategoryService.saveCategory($scope.category);
// I want to avoid this method to refresh my table.
// $scope.categories = categoriesService.query();
};
});
// Factory
demoApp.factory("saveCategoryService", function($resource){
return $resource("/demopro/saveCategory", {}, {
saveCategory: {
method: "POST"
}
});
});
demoApp.factory("categoriesService", function($resource){
return $resource("/demopro/categories", {}, {
listAllCategories : {
method: "GET",
isArray: true
}
});
});
有什么方法可以在不再次查询我的数据库的情况下在我的 table 中显示新行吗?
是的,逻辑上你会 return 保存对象并将其添加到当前列表:
$scope.createCategory = function(){
var newCategory = saveCategoryService.saveCategory($scope.category);
$scope.categories.push(newCategory);
};