我过去常常在jquery中克隆一个变量:
var clone = $.extend(true, {}, orig);
Ember.js中是否有与此相同的方法?
答案 0 :(得分:18)
这就像我在jquery中最不喜欢的命名方法。每次我想合并两个对象时,我都需要花几秒时间来考虑它的名称。您也可以在Ember中使用assign
。
Ember.assign({first: 'Tom'}, {last: 'Dale'}); // {first: 'Tom', last: 'Dale'}
var a = {first: 'Yehuda'}, b = {last: 'Katz'};
Ember.assign(a, b); // a == {first: 'Yehuda', last: 'Katz'}, b == {last: 'Katz'}
或在你的情况下
Ember.assign({}, orig);
http://emberjs.com/api/classes/Ember.html#method_assign
但是,你应该注意,它不支持像拷贝一样的深度克隆。
答案 1 :(得分:12)
是的,有:Ember.copy
var clonedObj = Ember.copy(originalObj, true);