1

このようなことをすることは可能ですか?

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です。

何がわからないの?

私はExtJを使用しており、オブジェクトの構造は非常に複雑です。

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 );
4

3 に答える 3

1

実行oSettingsThing.data時に を指しnullます。にはリンクされませんoHelper.ref

これを行う場合:

var oHelper = {
  ref: null
};
var oSettingsThing = {
  data: oHelper, // point to oHelper instead of oHelpder.ref
};

console.log(oSettingsThing.data.ref); // null
oHelper.ref = "somedata";
console.log(oSettingsThing.data.ref); // "somedata"
于 2013-03-22T12:04:39.773 に答える
0

nullは一種の参照であり、割り当てられている場合は割り当てられてoSettingsThing.data nullいます。

あなたができる

var thing = Framework.create('module.thing', oHelper.ref );
于 2013-03-22T12:05:10.793 に答える