覆盖angular forEach中的属性

jen*_*gar 3 angularjs

我想这是一件容易的事情,但我无法通过谷歌找到我想要的信息.我有popupProperties哪些只是默认的东西.然后我调用返回特定覆盖的服务,具体取决于弹出窗口.如何迭代所有服务的覆盖并将其应用于popupProperties

var popupProperties = getDefaultPopupProperties();
var popupOverrides= popupService.getPopupOverrides(currPopupId);

angular.forEach(popupOverrides, function(popupProperty, propertyName){
    //replace defaults with popupData's properties
});
Run Code Online (Sandbox Code Playgroud)

jpm*_*rin 13

你应该看看Josh David Miller的解决方案,它使用angular(文档)的扩展方法.

var defaults = {name:'John',age:17,weight:55};
var overrides = {name:'Jack',age:28,color:'brown'};
var props = angular.extend(defaults, overrides);

// result
props: {
    name:'Jack',
    age:28,
    weight:55,
    color:'brown'
}
Run Code Online (Sandbox Code Playgroud)

这些值将复制到defaults变量中.不需要使用返回值(var props =).