記一個小程序踩過的坑
小程序項目中app.js里面定義了globalData,即全局變量,里面定義了一個token字段
需求是這樣的,每次進入小程序的時候需要檢驗該token有沒有,沒有就請求后台獲取token,由於我一開始將該檢驗函數A放在onLaunch事件里面,但是這個函數A是引入的其他js文件里面的,這時候我在這個js文件里面使用const app = getApp()的時候發現獲取的是undefined,
后來查到原來onLaunch事件只是小程序剛好初始化完成之后的回調函數,這個時候app還沒有創建完成,所以getApp()獲取不到app實例,
后來將該檢驗函數A放在首頁頁面的onLoad里面就能正常獲取到了,但是麻煩的是每個頁面的onLoad都要調用檢驗函數A,防止分享之后用戶直接從其他頁面進入的情況,有沒有一個公用的事件里面調用檢驗函數A的方法呢?目前我還沒找到.
不過可以使用另外一種思路解決這個問題,
就是不用globalData,將所有的全局數據都存在storage里面,但這樣又不免有點奇怪,有更好的方法解決這個問題的大牛可以留言在下面哦