连接 $scope 变量

Concat $scope variables

我有 2 个 angular 变量定义如下:

$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,但它没有给出预期的结果,我得到 $scope.c 的值 "[object Object][object Object]"

在连接对象时,您可以使用 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

您可以为此使用 Object.assign

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

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

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

也可以使用assign方法实现

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