扩展对象保留原型的正确方法是什么

时间:2015-09-16 16:54:41

标签: angularjs

我希望有一个对象的浅表副本,但保留其原型。在扩展对象时,angular.extend似乎失去了原型。如何扩展对象以使新对象具有与原始对象相同的原型?

2 个答案:

答案 0 :(得分:1)

似乎唯一的方法是另外使用setPrototypeOf这样:

var copy = angular.extend(original);
Object.setPrototypeOf(copy, original.getPrototypeOf(original))

此外,extendgetters上通过setters删除了Object.definePropertyoriginal

答案 1 :(得分:0)

这可能有助于解决您的问题,请查看

http://www.tothenew.com/blog/angularjs-copy-vs-extend/