编辑:angular.extend
和 Object.assign
都工作正常,我应该使用哪一个
我试图向 angularjs 服务变量添加更多值,但它会覆盖以前的值。这是示例代码
var testModule = angular.module('testmodule', [])
.controller('abc', function ($scope, mser)
{
mser.aa = {a:5, b:2};
mser.aa = {c:5, d:2};
$scope.inps = mser.aa.a
})
.service('mser', function() {
var aa = {}
return aa
});
现在正如您所知,在 mser.aa = {c:5, d:2};
之后,我将得到 mser.aa.a
作为 undefined
.
我怎样才能避免这种情况并插入所有值
最佳答案
您正在使用 {c:5, d:2} 覆盖“mser.aa”的值。如果你想扩展该对象:
mser.aa = Object.assign(mser.aa, {c:5, d:2});
如果你想利用Angular
方法而不是纯JavaScript Object
方法,你也可以这样做:
angular.extend(mser.aa, {c:6, d:7});
关于javascript - 在 Angular 服务中添加更多参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41344305/