2017-07-06 81 views
0

Appceleretor中的$ tag是什么意思?当我在任何controller.js中使用此标记时,它都可以工作。但是当我在libs js文件中使用它时,我得到错误。

$.resetClass(someController, 'someClass') 

回答

3

$ tag是控制器文件的持有者。它由Titanium为每个控制器文件自动生成。

比方说你有这些文件集: 1 - INDEX.XML,index.js,index.tss 2 - win.xml,win.js,win.tss 3 - dialog.xml,对话框。 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 =“冠捷” &一些内部子视图可以说,观看具有IDS =厂景,视图2,等等

在win.js文件win.xml

<Alloy> 
<View id='topView'> 
    <View id='view1'> 
    <View id='view2'></View> 
    </View> 
</View> 
</Alloy> 

现在,您可以访问这些视图ID,如$ .topView,$ .view1,$ .view2 &等等这样的...


最后在 VAR美元代码,您可以从任何其他js文件访问这些ID就像这样:

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 :) 

这是基本的导向是什么$是,它是超出了..所以它的你的任务现在探索它&有效地使用它。

代码强!

+0

所以当我应用你的指令时,我可以像这样使用dolar.resetClass(s​​omeController,'someClass')? – Kerberos

+0

绝对!!美元与其在.js文件中的$完全相同。 –