2017-07-06 49 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文件中的$完全相同。 –