【问题标题】:Cannot Call JavaScript Function from same File无法从同一文件调用 JavaScript 函数
【发布时间】:2016-08-29 17:09:52
【问题描述】:

我正在定制一个基于 IBM MobileFirst 平台的 Maximo Anywhere 应用程序。

我已经实现了一个自定义的 JavaScript 文件,并且能够直接通过 app.xml 调用这些函数。但是,我无法从其他 JavaScript 函数调用此文件中包含的函数。你不能这样打电话吗?任何帮助将不胜感激。

请参阅下面的简化示例。这将在 callFromApplication 函数调用 retNewVal 函数时失败。

简化示例:

callFromApplication: function(eventContext){
    var selectedResource = eventContext.getResource().getCurrentRecord();
    var val1 = 5
    var val2 = retNewVal(val1);
    selectedResource.set('property1', val1);
    selectedResource.set('property2', val2);    
},

retNewValue : function(val){
    return val * 2;
},

谢谢!

【问题讨论】:

  • 失败时的错误信息是什么?
  • 欢迎来到 Stack Overflow。你可以改进你的问题。请阅读Minimal, Complete, and Verifiable example。当您的代码不加赘述地显示您的确切问题时,您就是在尊重那些自愿帮助您的人。

标签: javascript ibm-mobilefirst maximo-anywhere


【解决方案1】:

在我看来,您是从对象定义中调用 retNewValue 函数。

尝试在其前面添加this. 以确保正确维护范围

var obj = {
    func1notworking: function() {
        func2("Doesn't Work");
    },
    func1working: function() {
        this.func2("Works");
    },
    func2: function(output) {
        alert(output);
    }
};

//obj.func1notworking();
obj.func1working();

JsFiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 2013-03-20
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多