【问题标题】:titanium alloy global functions钛合金全局函数
【发布时间】:2014-03-14 08:52:25
【问题描述】:

我有一个问题,alloy.js 中设置的全局函数是每次启动应用程序时运行还是每次打开新窗口时运行?

因为我实际上想为用户创建一个唯一的用户 ID 并为其分配一个全局变量,以便可以通过应用程序使用它,但我不确定它是否会重新创建并重新分配生成的用户id 每当应用尝试打开另一个窗口时,它会使用与应用在实例化移动应用后生成的相同的 user_id。

希望有人能回答我。 >.

【问题讨论】:

  • 这些函数是您在alloy.js 中定义的,还是您指的是Titanium SDK 中更深层次的东西,并且想知道窗口是如何创建的?如果它们是你在那里定义的函数,我会在其中抛出一个警报('OMG THIS JUST RAN'),这样我就可以看到会发生什么。我认为alloy.js 中的函数不会运行,除非你特别调用它们,所以我可能会对你在问什么或不熟悉该函数感到困惑。

标签: mobile titanium-mobile titanium-alloy


【解决方案1】:

Alloy.js 中的函数会在每次加载应用时运行,它们会在应用开始执行时加载。所以答案是否定的,您的唯一 ID 不会在每次打开新窗口时重新创建。

来自 Titanium DOC:

初始化文件 app/alloy.js 可用于在应用程序生命周期开始时执行一些代码。该文件的内容将在初始 index.js 控制器加载之前执行,允许您在加载任何 UI 组件之前执行代码,并在执行之前覆盖内置的 Alloy 函数。

另外,这是一个如何运行函数并将结果存储在全局变量中的示例(您的 unique_id 函数的工作方式相同):

Alloy.Globals.myId = function(){
   var id = (CODE TO GENERATE ID)
   return id;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多