我正在尝试在Angularjs中运行自定义PUT,但是我无法让我的生活得到它的工作。我需要定义UserResource和user,但只定义更新函数第一个位置的参数。如何定义user和UserResource?
string.Replace("\r\n", "\n").Replace('\r', '\n').Replace('\n', 'replacement');
编辑以添加更多信息
我这样调用更新函数:
(function () {
class AdminController {
constructor(User, Auth) {
this.users = User.query();
this.Auth = Auth;
}
//here user is defined and I can run the delete function
delete(user) {
user.$remove();
this.users.splice(this.users.indexOf(user), 1);
}
// and if I put user into the first position it is defined but UserResource isn't
// as written here it isn't defined either.
update(UserResource, user) {
var $id = user._id;
UserResource.update({ id:$id }, user);
}
}
angular.module('wcsdesktopApp.admin')
.controller('AdminController', AdminController);
})();
我包含了删除功能以供参考,因为它正在运行。
UserResource是一个AngularJS $resource自定义放置请求。
<table>
<tr>
<a ng-click="admin.update(user)" class="update"><span class="fa fa-refresh fa-2x"></span></a>
</tr>
<tr>
<a ng-click="admin.delete(user)" class="trash"><span class="fa fa-trash fa-2x"></span></a>
</tr>
</table>
答案 0 :(得分:0)
您需要确保将UserResource
服务注入控制器。其中一种方式如下:
angular.module('wcsdesktopApp.admin').controller('AdminController', AdminController);
AdminController.$inject = [ 'User'];
function AdminController(User) {}
这样做会将控制器中的update
签名更改为以下内容:
update(user) {
User.update(); // Do whatever update.
}