Можно ли сделать что-то вроде этого:Можно ли отложить значение свойства, но использовать его раньше?
var oHelper = {
ref: null,
data: {"key":"value"}
}
var oSettingsThing = {
data: oHelper.ref,
//....
}
//....some lines before or in other file loaded after
$(document).ready(function() {
oHelper.ref = doDataStuff(oHelper.data);
var thing = Framework.crate('module.thing', oSettingsThing);
}
Моя цель состоит в том, чтобы держать $(document).ready(function(){
как можно более чистым, и если это возможно, чтобы отделить оба блока в отдельных файлов.
Я подумал, что, как и в переменном копировании в задании свойств значений копия по ссылке поможет мне, но я был неправ, и на Framework.crate('module.thing', oSettingsThing);
значение oHelper.ref
еще null
.
Что я не понимаю?
Я использую ExtJS и структура объектов это довольно сложнее:
var oHelper = {
ref: null,
data: {"key":"value"}
}
//....
var oSettingsThing = {
GENERALS:{
//..
items: [
{
items: [
{
//....
store: oHelper.ref,
}
//....
Ext.onReady(function() {
mc_documentos.stores.STATUS.ref = new Ext.data.SimpleStore(mc_documentos.stores.STATUS.data);
//I was hopping to at this point have oSettingsThing.GENERALS...data !== null
var generalsFilters= Ext.create('Ext.form.Panel', oSettingsThing.GENERALS);
Примитивные значения копируются. 'null' - это примитивное значение. Но даже если у вас будет пустой объект в начале, 'data' получит ссылку на этот объект, а не на свойство' oHelper.ref'. –
_Примитивные значения копируются. Это то, чего я не знал, спасибо. – buguibu