【问题标题】:What does $ tag mean in Appcelerator TitaniumAppcelerator Titanium中的$标签是什么意思
【发布时间】:2017-07-06 21:47:21
【问题描述】:

Appcelerator 中的 $ 标签是什么意思?当我在任何 controller.js 中使用这个标签时,它可以工作。但是当我在 libs js 文件中使用它时,我得到了错误。

$.resetClass(someController, 'someClass')

【问题讨论】:

    标签: titanium appcelerator titanium-mobile


    【解决方案1】:

    $ 标签是控制器文件的持有者。它由 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 Dollar 代码中,您可以像这样从任何其他 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 :)
    

    这是 $ 是什么的基本指南,除此之外......所以现在你的任务是探索它并有效地使用它。

    代码强大!

    【讨论】:

    • 所以当我应用你的指令时,我可以像这样使用 dolar.resetClass(someController, 'someClass') 吗?
    • 绝对!.. 美元完全等于其 .js 文件中的 $.. 你可以使用这两个。
    猜你喜欢
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 2022-07-09
    • 2014-01-08
    • 2018-08-22
    • 2019-09-17
    • 2018-02-13
    相关资源
    最近更新 更多