我在数组中有几个对象,我想从工厂添加一些类型为date的对象。
我不需要从此对象中删除旧值。我试着这样做:
angular.forEach($scope.things, function(item) {
if(item.type === 'date') {
item = DateFactory.prototype.createFactory();
}
})
但它不起作用,我错了? Plunker example
答案 0 :(得分:3)
更改item
中的forEach
不会改变该项目。您需要使用obj[key]
代替:
angular.forEach($scope.things, function(item, key, obj) {
if(item.type === 'date') {
obj[key] = DateFactory.prototype.createFactory();
}
})
更新了plunker
此外,您应该从工厂返回日期对象的实例:
return new date();
..然后只需调用方法:
obj[key] = DateFactory.createFactory()
答案 1 :(得分:1)
用于链接原型使用语法: -
item = Object.create(Date);