我想将我站点中的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);如何通过使用MyAppConfig "domready“事件侦听器将MyApp.Core.init对象传递给MyApp.Core.init函数?
提前感谢!
发布于 2011-02-15 22:47:13
你应该能够做这样的事情:
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>等参数。
在第三个项传递到回调函数之后的任何参数,MyAppConfig都会成为init中的第一个参数。
编辑参见此处的YUI3 API文档:http://developer.yahoo.com/yui/3/api/YUI.html#method_on
https://stackoverflow.com/questions/4873808
复制相似问题