我有一个这样的控制器:
现在,在
我尝试了
-
我希望我的
这个场景只是一个例子。为了缩短我的问题长度,我只提到了5-6个属性。实际上,我需要处理的属性超过20个,而且所有属性都是动态的。因此,通过从“Profile”复制每个属性
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
}
}
现在,在
$scope.update
函数中,我想写一些仅复制“公共属性”的内容,即firstname
、middlename
和lastname
从$scope.Profile
到$scope.BillingDetails
。我尝试了
angular.copy
和angular.extend
,但是:-
angular.extend
合并了$scope.BillingDetails
和$scope.Profile
。所以我也得到了$scope.BillingDetails
中的email
和cellphone
属性,这不是我想要的。
- angular.copy
覆盖了$scope.BillingDetails
,我失去了$scope.BillingDetails
中的addressline
、city
和zipcode
,这也不是我想要的。我希望我的
update
函数能够使$scope.BillingDetails
等于下面的对象:{
firstname : 'Ruchir',
middlename : 'Shakun',
lastname : 'Gupta',
addressline : undefined,
city : undefined,
zipcode : undefined
}
这个场景只是一个例子。为了缩短我的问题长度,我只提到了5-6个属性。实际上,我需要处理的属性超过20个,而且所有属性都是动态的。因此,通过从“Profile”复制每个属性
firstname
、middlename
和lastname
到BillingDetails
中,这种方法对我不起作用。我该怎么办?
$scope.BillingDetails.firstname = $scope.Profile.firstname
这个怎么样? - kelsier$scope.BillingDetails
与该额外的json对象合并。可能不是最优解,但是很有帮助。 - Sven Schürmann