gpt4 book ai didi

javascript - AngularJS 服务(更新/保存)

转载 作者:数据小太阳 更新时间:2023-10-29 05:08:26 25 4
gpt4 key购买 nike

AngularJS 的新手并试图掌握框架,并尝试构建一个基本的 CRUD 应用程序。我似乎无法弄清楚更新现有记录需要什么。这是我的服务:

 angular.module('appServices', ['ngResource']).
factory('App', function ($resource) {
var Item = $resource('App/:AppId', {
//Default parameters
AppId: '@id'
}, {
//Actions
query: {
method: 'GET',
isArray: true
},
getById: {
method: 'PUT'
},
update: {
method: 'POST'
}
});
return Item;
});

我可以运行一个基本的 Get all 查询和 getById 来填充一个编辑表单,但这就是我遇到的问题。这是 getById 的示例代码

 $scope.apps = App.query();

$scope.getEdit = function(AppId) {
App.getById({id:AppId}, function(app) {
$scope.original = app;
$scope.app = new App(app);
});
};

$scope.save = function() {
//What type of information should go here?
//Do I need to make changes to the appServices?
};

我想,我只是不确定关于更新现有信息的下一步是什么,或者“app”对象如何传递给 API,谁能给我指出正确的方向,或者告诉我一个快速更新的方法?

最佳答案

这是处理 Angular 保存操作的一种非常困惑的方式。其一 - 你不应该使用 PUT 操作来检索请求,其次 - 所有这些都已经内置到 Angular 中。见下文。

var Item = $resource( 'App/Details/:AppId', { AppId: '@id' } );

var item = Item.get({ id: 1 }, function( data ) {
data.setAnothervalue = 'fake value';
data.$save();
);

我在这里做的是检索一个“项目”,然后在它返回后立即用新数据保存它。

Angular JS 已经提供了一堆默认值,包括查询、保存、删除/删除、获取等。对于大多数 RESTful API,您实际上不需要添加太多(如果有的话)。有关更多信息,尤其是有关默认值的信息,请参阅资源文档:http://docs.angularjs.org/api/ngResource .$资源

此外,一旦你掌握了它——你可能想对创建/更新操作使用 $save,但使用 POST/PUT(RESTful 约定)。如果你这样做,请参阅我不久前写的文章:http://kirkbushell.me/angular-js-using-ng-resource-in-a-more-restful-manner/

关于javascript - AngularJS 服务(更新/保存),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12043532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com