我有以下代码:
INDEX.XML
<Window>
<View>
<Require id="foo1" src='foo'>
</View>
</Window>
foo.xml
<View>
<Label>This is from foo</Label>
</View>
foo.js
function doSomething() {
Ti.API.info('YES!');
}
我希望能够在doSometing()
中运行index.js
函数。我怎么能这样做?
我试过了:
$.foo1.doSomething()
但这似乎不起作用。
答案 0 :(得分:3)
<Window>
<View>
<Require id="foo1" src='foo'>
</View>
</Window>
在此代码中,Require id 包含foo.js文件的控制器,表示
foo.js $。foo1 = $要从Require访问任何属性或方法,您可以将该属性附加到任何视图,或者只是将其导出为:
<强> foo.js 强>
$.doSomething = function () {
Ti.API.info('YES!');
}
<强> index.js 强>
$.foo1.doSomething();
如果出现 @ miga的回答,您需要在 index.js 中使用此代码:
// view is the id of topmost view to which you attached the method.
$.foo1.view.doSomething();
答案 1 :(得分:1)
foo.xml
<View id="view">
<Label>This is from foo</Label>
</View>
foo.js
$.view.doSomething = function(){
Ti.API.info('YES!');
}
然后:$.foo1.view.doSomething();
编辑更好
exports.doSomething = function(){
Ti.API.info('YES!');
}
在没有.view
的情况下使用它!