1. 程式人生 > 其它 >微信小程式讓某個方法在當前小程式使用過程中只執行一次,如首頁啟動廣告

微信小程式讓某個方法在當前小程式使用過程中只執行一次,如首頁啟動廣告

小程式一進入在首頁首先會彈出一個此次開啟小程式只顯示一次的啟動廣告,以前寫在index.js裡的onready裡,後來寫在別的小程式裡又失效了,上網查了查我是沒查到什麼頁面可以只執行一次的生命週期,app.js的onLunch週期倒是在小程式此次執行週期內只走一回,但是我沒找到可以在app.js的onlunch中執行頁面內的js方法的辦法,結合網上多位大神的方法,自己總結了一個使頁面中js的方法只執行一次,自己想明白了思路其實很簡單

首先在app.js中的globalData定義一個變數,然後在app.js中的onLaunch呼叫,變數就叫 global : 1 吧,

然後我要做的是控制廣告顯示隱藏,在需要做的的頁面js的onload中進行判斷

if(app.globalData.global== 1){ this.setData({ zdm: true }) }頁面的onload週期頁面每次進入都會走,當globalData中的global 是1的時候,我要控制的元素會顯示,否則就隱藏,所以首次進入頁面我這個元素會顯示,然後再在js的onUnload週期中更改全域性變數global onUnload: function () { app.globalData.chuangjian = 2; }, 小程式離開這個當前頁面時執行銷燬週期,在此週期內將全域性變數global 改為2,當前global 為2,這樣只要使用者不退出小程式,global 就一直不為1,廣告就沒有顯示的條件,那麼廣告頁不管進入多少次這個廣告就都只顯示第一次進入了 注意不要忘了引入 const app = getApp()