2016-08-29 18 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

ようこそスタックオーバーフロー。あなたはあなたの質問を改善することができます。 [最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)をお読みください。あなたのコードが何も特別な問題であなたの正確な問題を示すとき、あなたはボランティアしてあなたを助ける人たちに敬意を表しています。 – zhon

答えて

4

オブジェクト定義内からr​​etNewValue関数を呼び出しているようです。範囲を確保することの前にthis.を追加

試みは、適切に

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

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

JsFiddle

関連する問題