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


小程序一進入在首頁首先會彈出一個此次打開小程序只顯示一次的啟動廣告,以前寫在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()
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM