复制一个 alloy 对象
Duplicate an alloy object
我搜索了没找到答案,所以这是我的疑问,
是否可以获取一个对象并复制它?例如,我认为有这段代码 (.xml):
<View id="endereco1" class="" layout="horizontal" height="60dp" >
<Label class="input-left-label label-font-size label-text-align-right">CEP: </Label>
<TextField class="textArea"></TextField>
</View>
然后在我的 Js 上我想获取这个 $.endereco1,然后创建和 $.endereco2,只改变 id,是否可能,比如实例化写在视图上的对象?
提前致谢
我的建议是,您将该对象用作控制器,然后当您想要获得重复的控制器时,在创建方法中发送相同的参数:
var copy = Alloy.createController('view',argsUsedOnFirst).getView();
或者创建一个函数,该函数 returns 一个像第一个对象一样的对象:
var copy = function(propertiesUsedOnFirst) {
return Ti.UI.createView(propertiesUsedOnFirst);
};
underscore.js 内置于 Titanium SDK 中。为什么不简单地使用
clone
_.clone(object)
Create a shallow-copied clone of the provided plain object. Any nested objects or arrays will be copied by reference, not duplicated.
_.clone({name: 'moe'});
=> {name: 'moe'};
我搜索了没找到答案,所以这是我的疑问,
是否可以获取一个对象并复制它?例如,我认为有这段代码 (.xml):
<View id="endereco1" class="" layout="horizontal" height="60dp" >
<Label class="input-left-label label-font-size label-text-align-right">CEP: </Label>
<TextField class="textArea"></TextField>
</View>
然后在我的 Js 上我想获取这个 $.endereco1,然后创建和 $.endereco2,只改变 id,是否可能,比如实例化写在视图上的对象?
提前致谢
我的建议是,您将该对象用作控制器,然后当您想要获得重复的控制器时,在创建方法中发送相同的参数:
var copy = Alloy.createController('view',argsUsedOnFirst).getView();
或者创建一个函数,该函数 returns 一个像第一个对象一样的对象:
var copy = function(propertiesUsedOnFirst) {
return Ti.UI.createView(propertiesUsedOnFirst);
};
underscore.js 内置于 Titanium SDK 中。为什么不简单地使用
clone
_.clone(object)
Create a shallow-copied clone of the provided plain object. Any nested objects or arrays will be copied by reference, not duplicated.
_.clone({name: 'moe'});
=> {name: 'moe'};