gpt4 book ai didi

javascript - 无法使用 Angular.merge() 合并对象

转载 作者:行者123 更新时间:2023-11-27 23:19:18 27 4
gpt4 key购买 nike

我正在尝试将合并对象传递给 getData() 函数:

     $scope.query = {
order: 'date',
limit: 15,
page: 1
};
$scope.src = {txt:0};
$scope.onReorder = function (order) {
var toBeExtended = angular.copy($scope.src);
var extendedObj = angular.merge({}, $scope.query,{where:toBeExtended},{order: order});
getData(extendedObj)
};

我不明白为什么如果我 console.log() 分配给合并的变量或合并本身会得到不同的结果。换句话说:

 console.log(extendedObj); shows: 
Object
limit: 15
order: "date"
page: 1
where: Object
__proto__: Object
__proto__: Object

console.log(angular.merge({},$scope.query,{where:toBeExtended},{order:order})); shows:
Object
limit: 15
order: "date"
page: 1
where: Object
src: 0
__proto__: Object
__proto__: Object

当然,我无法传递完整的对象。

最佳答案

当前的angular.merge方法考虑用于合并过程的第三个参数。在这种情况下,将传递 {where:toBeExtended} 进行合并过程,并忽略 {order: order}

您需要首先创建要合并的整个对象,然后将该对象传递给合并方法。

var objectToBeMerge = {};
angular.extend(objectToBeMerge, {where:toBeExtended})
angular.extend(objectToBeMerge, {order: order})
var extendedObj = angular.merge({}, $scope.query, objectToBeMerge);

关于javascript - 无法使用 Angular.merge() 合并对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35527183/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com