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

Mel*_*vin 7 javascript jquery clone ember.js

我曾经在jquery中克隆变量,如下所示:

var clone = $.extend(true, {}, orig);
Run Code Online (Sandbox Code Playgroud)

Ember.js中有任何方法与此相同吗?

Kin*_*n2k 18

这就像我在jquery中最不喜欢的命名方法.每次我想合并两个对象时,我都需要花几秒时间来考虑它的名称.您也可以assign在Ember中使用.

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'}
Run Code Online (Sandbox Code Playgroud)

或者在你的情况下

Ember.assign({}, orig);
Run Code Online (Sandbox Code Playgroud)

http://emberjs.com/api/classes/Ember.html#method_assign

但是,您应该注意,它不支持像拷贝一样的深度克隆.

  • Ember.merge()似乎[已弃用](https://github.com/emberjs/data/issues/4233)(尽管在文档中没有这样说),请使用[assign()](http: //emberjs.com/api/#method_assign)而不是 (2认同)

bgu*_*uiz 12

是的,有: Ember.copy

var clonedObj = Ember.copy(originalObj, true);
Run Code Online (Sandbox Code Playgroud)