tel*_*lob 2 javascript requirejs
在我当前的项目中,我正在使用krpano(浏览器的多分辨率全景图像查看器)。您可以在全景图上添加可单击的热点,并定义单击热点时执行的功能。
我要执行的方法在require.js模块内部,但是krpano库仅调用附加到全局窗口对象的方法。
如何将我的方法从模块添加到window对象,以便仍然可以访问所有其他从属模块?
我的应用程序包含大量具有依赖性的模块。
谢谢。
您没有提供太多细节,但是想到了两种方法。真正最合适的取决于您的应用程序的具体情况。
如果不得不从模块中泄漏函数,这是我更愿意做的事情,因为它不会使模块本身泄漏该函数。如果这个模块是完全可重用的,那么我可以在不需要泄漏任何东西的另一个项目中使用它。我会像其他任何AMD模块一样编写我的模块,然后将胶合代码提取出我需要泄漏的内容。模块(在mod.js文件中):
define(["a", "b"], function (a, b) {
return {
foo: function () {},
bar: function () {}
};
});
Run Code Online (Sandbox Code Playgroud)
胶水代码:
require(["mod"], function (mod) {
window.foo = mod.foo; // Leak the function I need for **this** project.
});
Run Code Online (Sandbox Code Playgroud)使模块本身泄漏功能。这使得模块固有地泄漏并损害了重用,但是有时某些模块与特定项目紧密相关,因此为重用而创建的特定项目将不会发生,所以...
define(["a", "b"], function (a, b) {
function foo () {}
window.foo = foo;
return {
foo: foo,
bar: function () {}
}
});
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
3879 次 |
| 最近记录: |