Angularjs 如何在不绑定的情况下从同一原型创建角度模型?

Angularjs 如何在不绑定的情况下从同一原型创建角度模型?,angularjs,prototype,javascript-objects,Angularjs,Prototype,Javascript Objects,我有个小问题。我有一个对象,我想使用它创建两个无绑定的角度模型,基于初始对象作为原型: var def = { value: 'example' } 在角度上: var c = Object.create(def); c.anothervalue = 12345; $scope.c = c; var d = Object.create(def); d.anothervalue = 765432; $scope.d = d; c和d是正确创建的,没有绑定。但我无法在角度视图中访问对象的

我有个小问题。我有一个对象,我想使用它创建两个无绑定的角度模型,基于初始对象作为原型:

var def = {
   value: 'example'
}
在角度上:

var c = Object.create(def);
c.anothervalue = 12345;
$scope.c = c;

var d = Object.create(def);
d.anothervalue = 765432;
$scope.d = d;
c和d是正确创建的,没有绑定。但我无法在角度视图中访问对象的初始值,即使在控制器中效果良好

我读过关于Object.prototype的文章,但我找不到任何解决方案


我放置了一个

将您的复制功能从
对象更改为。创建
为:

我在你的小提琴上试过,我想它能满足你的要求:

c:{ "value": "example", "anothervalue": 12345 } 
d:{ "value": "example", "anothervalue": 765432 }
我发现
angular.copy()
在较大的对象上速度非常慢

假设对象中只有简单变量而没有任何函数,则可以使用:

var c = JSON.parse(JSON.stringify(d));
更新小提琴:

资料来源:


警告:这可能会破坏日期对象,以及任何不属于JSON规范的内容。

您实际上可以通过
c.value
d.value
访问它。问题在于JSON过滤器。stringify方法不考虑继承的属性,因此在输出中看不到它们。
var c = JSON.parse(JSON.stringify(d));