Javascript AngularJS和Restangular,正在尝试将更新方法转换为API
我正在尝试将我的基本crud操作转换成一个API,我的应用程序的多个组件都可以使用 我已经成功地转换了所有方法,除了update方法,因为它要求在执行put请求之前声明对象上的每个属性 控制器Javascript AngularJS和Restangular,正在尝试将更新方法转换为API,javascript,angularjs,foreach,restangular,data-manipulation,Javascript,Angularjs,Foreach,Restangular,Data Manipulation,我正在尝试将我的基本crud操作转换成一个API,我的应用程序的多个组件都可以使用 我已经成功地转换了所有方法,除了update方法,因为它要求在执行put请求之前声明对象上的每个属性 控制器 $scope.update = function(testimonial, id) { var data = { name: testimonial.name, message: testimonial.message }; dataService.
$scope.update = function(testimonial, id) {
var data = {
name: testimonial.name,
message: testimonial.message
};
dataService.update(uri, data, $scope.id).then(function(response) {
console.log('Successfully updated!');
},
function(error) {
console.log('Error updating.');
});
}
数据服务
dataService.update = function(uri, data, id) {
var rest = Restangular.one(uri, id);
angular.forEach(data, function(value, key) {
// needs to be in the format below
// rest.key = data.key
});
// needs to output something like this, depending on what the data is passed
// rest.name = data.name;
// rest.message = data.message;
return rest.put();
}
我试图在代码注释中描述这个问题,但重申一下,我不知道如何生成类似rest.name=data.name不指定name属性,因为update函数不需要知道对象属性
下面是在我开始尝试让我的任何组件都可以使用update方法之前的样子(这很有效)
在没有任何硬编码的特定属性参数的情况下,如何重新创建它
另外,我的项目包括了lo dash,如果这有帮助的话,我不知道从哪里开始解决这个问题。非常感谢你的建议 试试看
angular.extend(rest,testimonial)
尝试像angular.extend(休息,证明)感谢@Whisher我从来没有使用过angular.extend
,它工作得很好,如果你把它写在回答中,我会接受的。
angular.extend(rest,testimonial)