Ruc*_*pta 7 javascript angularjs angularjs-directive angularjs-service angularjs-scope
我有一个像这样的控制器:
CheckoutController = function() {
$scope.Profile = {
firstname : 'Ruchir',
middlename : 'Shakun',
lastname : 'Gupta',
email : 'ruchir@example.com',
cellphone : '9876543210'
}
$scope.BillingDetails = {
firstname : undefined,
middlename : undefined,
lastname : undefined,
addressline : undefined,
city : undefined,
zipcode : undefined
}
$scope.update = function() {
// I want to write some awesome code here as explained below
}
}
Run Code Online (Sandbox Code Playgroud)
现在,在$scope.update功能; 我想写的东西,应该复制" 唯一的共同特性 ",即firstname,middlename和lastname从$scope.Profile到$scope.BillingDetails.
我试过angular.copy和angular.extend,但是,
angular.extend合并$scope.BillingDetails和$scope.Profile.所以,我得email和cellphone在性能$scope.BillingDetails以及-我不想要什么.
angular.copy覆盖
$scope.BillingDetails和我输了addressline,city并且
zipcode从$scope.BillingDetails-我不想要的.
我想让我的update函数做的是它应该$scope.BillingDetails等于下面的对象:
{
firstname : 'Ruchir',
middlename : 'Shakun',
lastname : 'Gupta',
addressline : undefined,
city : undefined,
zipcode : undefined
}
Run Code Online (Sandbox Code Playgroud)
这种情况只是一个例子.为了缩短我的问题的长度,我只提到了5-6个属性.事实上,我必须处理超过20个属性,而且都是动态的.所以它不会复制一个接一个性质为我工作firstname,middlename并lastname从Profile到BillingDetails.我能做什么?
JcT*_*JcT 13
你可能会有这样的运气:
$scope.update = function() {
_update($scope.Profile, $scope.BillingDetails);
}
function _update(srcObj, destObj) {
for (var key in destObj) {
if(destObj.hasOwnProperty(key) && srcObj.hasOwnProperty(key)) {
destObj[key] = srcObj[key];
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18601 次 |
| 最近记录: |