Привет, я пытаюсь объединить две модели, которые связаны значениями формы html. Моя конечная цель - создать вложенный объект JSON для запроса POST. Я попытался использовать метод DeepExtend
, как показано ниже, но он работает только для объектов с неограниченной областью. Я действительно хочу знать, почему это происходит.Объединить две модели области в angularjs
Это моя попытка по этому вопросу
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'
}
ли вы назначить model1 и model2 размаху где-нибудь? Вероятно, это опечатка: '$ scope.mdoel1' –
У углового есть встроенный метод расширения http://docs.angularjs.org/api/angular.extend – charlietfl
извините за опечатку да, я связываю их с значениями формы html , и я попробовал метод расширения. это не хорошо для глубокого расширения –