在Ember.js中jQuery $ .extend()的等价物是什么?

时间:2014-06-18 10:15:42

标签: javascript jquery ember.js clone

我过去常常在jquery中克隆一个变量:

var clone = $.extend(true, {}, orig);

Ember.js中是否有与此相同的方法?

2 个答案:

答案 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);