调用函数或将目标定位在Titanium Alloy中的另一个控制器中

Ben*_*son 2 titanium titanium-alloy

所以,我正在创建一个自定义模式窗口:

var modal = Alloy.createController('modal');
modal.getView().open();
Run Code Online (Sandbox Code Playgroud)

Modal控制器内部是一个被调用的函数changeTitle,在视图中是一个带有id的标签modalTitle.我想弄清楚的是如何从启动 Modal窗口的控制器中调用任何一个.

我以为以下会调用控制器中的函数,但没有骰子:

modal.changeTitle('foo');
Run Code Online (Sandbox Code Playgroud)

同样地,我认为以下将在新创建的视图中定位标签,但同样,没有骰子.

var modalWin = modal.getView();
modalWin.$.modalTitle = 'foo';
Run Code Online (Sandbox Code Playgroud)

Jos*_*ter 5

你必须使用这个功能changeTitle向世界公开exports.所以在你创建的模态控制器中,它看起来像这样:

exports.changeTitle = function() {
    // Your function definition...
};
Run Code Online (Sandbox Code Playgroud)

对于第二部分,再一次,这不是全局可用的,我想你可以在你的模态控制器中做到这一点:

exports.$ = $;
Run Code Online (Sandbox Code Playgroud)

那么你所写的内容将起作用,但将内部成员暴露给外界似乎是非常危险的.我只会在上面的暴露函数中嵌套你需要的功能.