所以,我正在创建一个自定义模式窗口:
var modal = Alloy.createController('modal');
modal.getView().open();
Modal控制器内部是一个名为changeTitle
的函数,在视图中是一个标识为modalTitle
的标签。我想弄清楚的是如何从启动 Modal窗口的控制器中调用任何一个。
我认为以下会调用控制器中的函数,但没有骰子:
modal.changeTitle('foo');
类似地,我认为以下内容将在新创建的视图中定位标签,但同样,没有骰子。
var modalWin = modal.getView();
modalWin.$.modalTitle = 'foo';
答案 0 :(得分:5)
您必须使用changeTitle
向全世界公开函数exports
。所以在你创建的模态控制器中,它看起来像这样:
exports.changeTitle = function() {
// Your function definition...
};
对于第二部分,再一次,这不是全局可用的,我想你可以在你的模态控制器中做到这一点:
exports.$ = $;
然后你所写的内容会有效,但将内部成员暴露给外界似乎非常危险。我只会在上面提到的暴露函数中嵌套你需要的功能。