Titanium Alloy: 运行 require 语句中存在的函数
Titanium Alloy: Run a function that exists in a require statement
我有以下代码:
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!');
}
问题
我希望能够 运行 index.js
中的函数 doSometing()
。我该怎么做?
我试过了:
$.foo1.doSomething()
但这似乎不起作用。
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
!
的情况下使用它
<Window>
<View>
<Require id="foo1" src='foo'>
</View>
</Window>
在这段代码中,Require id 持有 foo.js 文件的控制器,意味着
$.foo1 = $ 在 foo.js
为了从 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();
我有以下代码:
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!');
}
问题
我希望能够 运行 index.js
中的函数 doSometing()
。我该怎么做?
我试过了:
$.foo1.doSomething()
但这似乎不起作用。
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
!
<Window>
<View>
<Require id="foo1" src='foo'>
</View>
</Window>
在这段代码中,Require id 持有 foo.js 文件的控制器,意味着
$.foo1 = $ 在 foo.js
为了从 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();