2014-03-14 107 views
0

我有一個問題,是否在每次啓動應用程序或每次打開一個新窗口時運行alloy.js中設置的全局函數?鈦合金全球功能

因爲我實際上想爲用戶創建一個唯一的用戶ID併爲其分配一個全局變量,所以它可以通過應用程序使用,但我不確定它是否會重新創建並重新分配生成的用戶ID,只要應用程序試圖打開另一個窗口,或者它會使用與實例化移動應用程序後生成的應用程序相同的user_id。

希望有人能回答我。 >。 <

+0

你是在合金中定義這些功能。 js還是你指的是Titanium SDK中更深層次的東西,並想知道如何創建一個窗口?如果它們是你在那裏定義的函數,那麼我會提醒一下('OMG THIS JUST RAN'),這樣我就可以看到會發生什麼。我不認爲在alloy.js中的函數是運行的,除非你專門調用了它們,所以我可能會對你所詢問或不熟悉的函數感到困惑。 – Martin

回答

3

alloy.js中的函數將在每次應用程序加載時運行,並且會在應用程序執行開始時加載。所以答案是否定的,每當新窗口打開時,您的唯一ID就不會重新創建。

則從鈦DOC:

的初始化文件app/alloy.js可以使用附近的應用程序的生命週期的開始執行一些代碼。該文件的內容將在加載初始index.js控制器之前執行,允許您在加載任何UI組件之前執行代碼並在執行之前覆蓋內建的Alloy函數。

而且,這裏是如何運行的功能,並把結果保存在一個全局變量的例子(您UNIQUE_ID功能會的工作方式相同):

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