如何从命名空间外部更新内部配置?
我有一个如下的 javascript 文件
(function (rpc) {
rpc.loadHomeBanner = rpc_loadHomeBanner;
function rpc_loadHomeBanner(){
// AN is used by Sencha Animator as an Animation variable
rpc.AN ={};
rpc.AN.Controller = {
setConfig: function(configData) {
// update config crap
}
};
var configData = {
// config crap
};
rpc.AN.Controller.setConfig(configData);
}
})(rpc);
现在,在页面的第一次加载时,我调用它
rpc.loadHomeBanner();
,它会在我需要时启动。
问题是我有一个 handleOrientationChange
方法,需要从命名空间外部更新配置(由于开销,我不想触发 loadHomeBanner 方法)。
handleOrientationChange: function(){
// Updating the config for the animation to ensure appropriate width.
var configData = {
// config crap
};
rpc.AN.Controller.setConfig(configData);
}
如何从闭包范围之外调用 rpc.AN.controller.setConfig ?
I've got a javascript file as follows
(function (rpc) {
rpc.loadHomeBanner = rpc_loadHomeBanner;
function rpc_loadHomeBanner(){
// AN is used by Sencha Animator as an Animation variable
rpc.AN ={};
rpc.AN.Controller = {
setConfig: function(configData) {
// update config crap
}
};
var configData = {
// config crap
};
rpc.AN.Controller.setConfig(configData);
}
})(rpc);
Now on the very first load of the page, I call
rpc.loadHomeBanner();
and it fires up just as I need it to.
The problem is that I have a handleOrientationChange
method that needs to update the config from outside the namespace (I don't want to fire the loadHomeBanner method because of overhead).
handleOrientationChange: function(){
// Updating the config for the animation to ensure appropriate width.
var configData = {
// config crap
};
rpc.AN.Controller.setConfig(configData);
}
How can I call rpc.AN.controller.setConfig
from outside the scope of the closure?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
考虑到您已将
rpc
对象传递到该代码模块中,它应该已经可以访问。It should already be accessible considering you've passed the
rpc
object into that code module.您应该创建一个
工厂
。然后像这样使用它
You should create a
factory
.and then use it like