2016-08-29 31 views
2

我正在構建一個基於IBM MobileFirst Platform的Maximo Anywhere應用程序的定製。無法從同一個文件調用JavaScript函數

我已經實現了一個自定義的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; 
}, 

謝謝!

+0

什麼是錯誤消息時失敗? – Arjun

+0

歡迎來到Stack Overflow。你可以改善你的問題。請閱讀[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。當你的代碼沒有任何額外的東西顯示你的確切問題時,你會向那些志願幫助你的人表示敬意。 – zhon

回答

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

相關問題