【发布时间】:2017-07-06 21:47:21
【问题描述】:
Appcelerator 中的 $ 标签是什么意思?当我在任何 controller.js 中使用这个标签时,它可以工作。但是当我在 libs js 文件中使用它时,我得到了错误。
$.resetClass(someController, 'someClass')
【问题讨论】:
标签: titanium appcelerator titanium-mobile
Appcelerator 中的 $ 标签是什么意思?当我在任何 controller.js 中使用这个标签时,它可以工作。但是当我在 libs js 文件中使用它时,我得到了错误。
$.resetClass(someController, 'someClass')
【问题讨论】:
标签: titanium appcelerator titanium-mobile
$ 标签是控制器文件的持有者。它由 Titanium 为每个控制器文件自动生成。
假设您有这些文件集: 1 - index.xml、index.js、index.tss 2 - win.xml、win.js、win.tss 3 - dialog.xml、dialog.js、dialog.tss
因此,$ 可用于每个 .js 文件,并且它返回的内容相同:
dialog.js
var dollar = Alloy.createController('win');
// now dollar is exactly equal to ($ in win.js) & so does for other .js files.
在 win.xml 中,假设您有一个 id='topView' 的最顶层 Window 或 View 以及一些内部子视图让我们假设 ids = view1、view2 等...
win.xml
<Alloy>
<View id='topView'>
<View id='view1'>
<View id='view2'></View>
</View>
</View>
</Alloy>
现在在 win.js 文件中,您可以像这样访问这些视图 ID,如 $.topView、$.view1、$.view2 等等...
var topView = dollar.topView;
var view1 = dollar.view1;
var view2 = dollar.view2;
更详细地说,假设您想将某些功能从一个控制器导出到任何其他控制器,您可以这样做:
win.js
$.methodNameToAccess = function () {alert('Kerberos!')};
这里是导出方法的魔力
dialog.js
dollar.methodNameToAccess(); // alerts your name :)
这是 $ 是什么的基本指南,除此之外......所以现在你的任务是探索它并有效地使用它。
代码强大!
【讨论】: