无法从同一个文件调用JavaScript函数

时间:2016-08-29 17:09:53

标签: javascript ibm-mobilefirst maximo-anywhere

我正在为基于IBM MobileFirst Platform构建的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;
},

谢谢!

1 个答案:

答案 0 :(得分:4)

在我看来,你是在对象定义中调用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