如何调用一个在匿名函数中定义的函数,但这两个函数都在同一个JS文件中。下面是我的代码片段。如何从testMethodOutside()
调用_testMethodInside()
?
// Line 1 to 13 is an existing code from ESRI API
define([
"dojo/_base/declare",
"dojo/_base/html"
], function (
declare,
html
) {
return declare([_WidgetBase, _TemplatedMixin], {
_testMethodInside: function () {
return 'success';
}
});
});
//Call above using this function
function testMethodOutside(){
//How to call _testMethodInside() function from here
}
3条答案
按热度按时间xu3bshqb1#
遵循Dojo文档。
define
块定义了一个模块。您没有指定模块id(它将显式传递或从文件名推断),因此我将假定模块名为my/Example
。关键的一点是,由于模块是异步加载的,因此可以安全调用它的唯一位置是传入(AMD)
require
的回调函数。cx6n0qe32#
使用esri的Web应用程序构建器,您通常可以:
1)将所有代码放在define/require中2)将其分成两个模块
这正是流程设计的初衷,例如:
文件1.js:
文件2.js:
此外,以下划线开头的方法名称是指定私有方法的常见设计选择,因此_testMethodInside实际上应该只由file 1调用
qhhrdooz3#
如果它应该只是
_testMethodInside
方法和testMethodOutside
函数的公共函数,请考虑以下情况: