Concat $范围变量

问题描述 投票:1回答:3

我有2个角度变量定义如下:

$scope.a = {
  var1: value1,
  var2: value2
};

$scope.b = {
  var3: value3,
  var4: value4
};

我试图连接var1var2,以便有$scope.c定义如下:

$scope.c = {
  var1: value1,
  var2: value2,
  var3: value3,
  var4: value4
};

我正在做$scope.a = $scope.b + $scope.c,但它没有给出理想的结果,我得到"[object Object][object Object]"的价值$scope.c

javascript angularjs angularjs-directive angularjs-scope
3个回答
2
投票

你可以使用Object.assign为此

$scope.c = Object.assign({},$scope.a,$scope.b)

4
投票

在连接对象时,您可以使用ES6的spread syntax

$scope.c = {...$scope.a, ...$scope.b};

或者AngularJs的angular.extend()可以让你达到相同的效果。

$scope.c = angular.extend($scope.a, $scope.b);

例如,

const a = {
  var1: 'value1',
  var2: 'value2'
} ;

const b = {
  var3: 'value3',
  var4: 'value4'
} ;

console.log({...a, ...b});

您可以查看我制作here的演示。


1
投票

您可以使用spread运算符合并两个对象

$scope.c={...$scope.a,...$scope.b};

您还可以使用assign方法实现。

$scope.c=Object.assign($scope.a,$scope.b);

© www.soinside.com 2019 - 2024. All rights reserved.