编程语言
首页 > 编程语言> > 如何调用“定义”内部的JavaScript函数-匿名方法

如何调用“定义”内部的JavaScript函数-匿名方法

作者:互联网

如何调用在匿名函数中定义但都在同一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
    }

解决方法:

请遵循Dojo文档.定义块定义模块.您没有指定模块ID(可以通过显式传递,也可以从文件名中推断出来),因此我将继续进行操作,就好像该模块被命名为my / Example.

require(['my/Example'], function(Example) {
   var example = new Example();
   example._testMethodInside(); // here is where you call _testMethodInside
}

关键是因为模块是异步加载的,所以唯一可以安全调用的地方是传递给(AMD) require的回调函数.

标签:dojo,amd,js-amd,javascript,esri-javascript-api
来源: https://codeday.me/bug/20191024/1924048.html