我有两个控制器'键盘'属于'索引'控制器
我知道我可以在index.js中调用keyboard.js中的函数。
但是如何从keyboard.js中调用index.js中的函数
在这个cae中我想从fromhere()函数调用wantToCall()
我的index.js
var KeyboardCon = Alloy.createController('keyboard',{});
$.KeyboardView.add(KeyboardCon.getView());
KeyboardCon.test() // I can call the function in keyboard.js from index.js
function wantToCall(){
//
}
我的indes.xml
<Alloy>
<Window id="GameWin" class="container">
<View id="KeyboardView" />
</Window>
</Alloy>
我的keyboard.js
function fromhere(){
I want to call wanToCall from here.
}
exports.test = function (){
}
答案 0 :(得分:4)
我相信会为你做到的。您将$传递给键盘控制器以传递引用,以便它可以引用键盘中的索引控制器。抱歉没时间测试它。
index.js
var KeyboardCon = Alloy.createController('keyboard',{index: $});
...
exports.wantToCall = function(){
//
}
keyboard.js
var args = arguments[0] || {};
function fromhere(){
args.index.wantToCall();
}
或者我通常做的事情:
index.js
Alloy.Globals.Index = $;
...
exports.wantToCall(){
//
}
keyboard.js
function fromhere(){
Alloy.Globals.Index.wantToCall();
}