您好我试图连接两个受html表单值绑定的模型。我的最终目标是为POST请求创建嵌套的JSON对象。我曾尝试使用如下所示的DeepExtend
方法,但它仅适用于非$ scope对象。我真的想知道为什么会这样。
这是我对这个问题的尝试
as.factory('model1', [
function () {
return {
Header1: {
code: '',
name: '',
type: ''
}
};
}
]);
as.factory('model2', [
function () {
return {
Header2: {
code2: '',
name2: '',
country: ''
}
};
}
]);
as.controller('cntrl', function ($scope, $http, i18n, $rootScope, model1, model2) {
function deepObjectExtend(target, source) {
for (var prop in source)
if (prop in target)
deepObjectExtend(target[prop], source[prop]);
else
target[prop] = source[prop];
return target;
}
var result = deepObjectExtend($scope.mdoel1, $scope.model2);
$rootScope.resultString = angular.toJson(result);
console.log($rootScope.resultString);
});
我的最终结果应该是:
Header1: {
code:'123',
name: '321',
type:'123'
},
Header2: {
code2:'123' ,
name2: '123',
country: '123'
}
答案 0 :(得分:1)
好像你想要从两个模型中创建一个新对象。
如果是这样,你可以这样做:
var result={}
angular.extend(result, $scope.model1, $scope.model2);