1

自分のサイトの JavaScript を YU2 から YUI3 に移行したいのですが、アマチュア プログラマーが下手なだけで、最初の落とし穴で立ち往生しています。

次のコードがあります。

MyApp.Core = function() {  
    return {  
        init: function(e, MyAppConfig) {  
            if (MyAppConfig.tabpanels) {  
                MyApp.Core.prepareTabpanels(MyAppConfig.tabpanels);  
            }  
        },  
        prepareTabpanels: function(tabpanels) {  
            // Code here
        }  
    }  
}();  

var MyAppConfig = {  
    "tabpanels":{"ids":["navigation"]}  
};

YAHOO.util.Event.addListener(window, "load", MyApp.Core.init, MyAppConfig);

YUI3「domready」イベントリスナーを使用してMyAppConfigオブジェクトを関数に渡すにはどうすればよいですか?MyApp.Core.init

前もって感謝します!

4

1 に答える 1

1

次のようなことができるはずです。

var MyApp = {};
    MyApp.Core = function(){ return {  
    init: function(MyAppConfig) {  
        console.log(MyAppConfig);
    },  
        prepareTabpanels: function(tabpanels) {  
    // Code here
    }  
}  
}();

var MyAppConfig = {  
    "tabpanels":{"ids":["navigation"]}  
};

YUI().use('node', 'event', function(Y){
    Y.on('domready', MyApp.Core.init, this, MyAppConfig);
});

イベントは最初のパラメーターとして渡されないことに注意してください。これは構成です。

Y.on は<event_type><callback_function><context><params>..としてパラメーターを受け入れます。

3 番目の項目の後の任意のパラメーターがコールバック関数に渡されるため、MyAppConfig が init の最初のパラメーターになります。

EDIT ここで YUI3 API ドキュメントを参照してください: http://developer.yahoo.com/yui/3/api/YUI.html#method_on

于 2011-02-15T22:47:13.773 に答える