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

时间:2013-09-10 12:47:22

标签: titanium titanium-alloy

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

var modal = Alloy.createController('modal');
modal.getView().open();

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

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

modal.changeTitle('foo');

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

var modalWin = modal.getView();
modalWin.$.modalTitle = 'foo';

1 个答案:

答案 0 :(得分:5)

您必须使用changeTitle向全世界公开函数exports。所以在你创建的模态控制器中,它看起来像这样:

exports.changeTitle = function() {
    // Your function definition...
};

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

exports.$ = $;

然后你所写的内容会有效,但将内部成员暴露给外界似乎非常危险。我只会在上面提到的暴露函数中嵌套你需要的功能。