亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

JS每日一題:小程序跳轉(zhuǎn)頁面有幾種方式? 有什么不同?

googollee / 3348人閱讀

摘要:小程序跳轉(zhuǎn)頁面有幾種方式有什么不同在小程序中每個頁面可以看成是一個,全部以棧的形式進行管理最多五層在說跳轉(zhuǎn)方式之前我們先來溫習(xí)一下棧和堆的區(qū)別管理方式不同棧是系統(tǒng)編譯器啟動管理,不需要程序員手動管理堆的釋放由程序員手動管理,不及時回收容易產(chǎn)

20190228

小程序跳轉(zhuǎn)頁面有幾種方式? 有什么不同?

在小程序中每個頁面可以看成是一個pageModel,pageModel全部以棧的形式進行管理(最多五層)

在說跳轉(zhuǎn)方式之前我們先來溫習(xí)一下棧和堆的區(qū)別

管理方式不同

棧是系統(tǒng)編譯器啟動管理,不需要程序員手動管理

堆的釋放由程序員手動管理,不及時回收容易產(chǎn)生內(nèi)存泄露

分配方式不同

棧有兩種分配方式:靜態(tài)分配和動態(tài)分配

靜態(tài)分配是系統(tǒng)編譯器完成的,比如局部變量的分配

動態(tài)分配是由alloc函數(shù)進行分配的,但是棧的動態(tài)分配和堆的動態(tài)分配是不同的,它的動態(tài)分配也由系統(tǒng)編譯器進行釋放,不需要程序員手動管理

堆是動態(tài)分配和回收內(nèi)存的,沒有靜態(tài)分配的堆

分配大小不同

棧是向低地址擴展的數(shù)據(jù)結(jié)構(gòu),是一塊連續(xù)的內(nèi)存區(qū)域

堆是向高地址擴展的數(shù)據(jù)結(jié)構(gòu),是不連續(xù)的內(nèi)存區(qū)域

進入正題

小程序的路由跳轉(zhuǎn)分為兩種,組件跳轉(zhuǎn)以及api跳轉(zhuǎn)

api形式分為

navigateTo 保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個頁面,使用wx.navigateBack可以返回到原頁面

redirectTo 關(guān)閉當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個頁面

switchTab 跳轉(zhuǎn)到tabBar頁面,同時關(guān)閉其他非tabBar頁面

navigateBack 返回上一頁面

reLanch 關(guān)閉所有頁面,打開到應(yīng)用內(nèi)的某個頁面

前面有提到棧,那么這些導(dǎo)航方式跟棧有什么關(guān)系呢,看下面

初始化 新頁面入棧

navigateTo 新頁面入棧

redirectTo 當(dāng)前頁面出棧,新頁面入棧

navigateBack 頁面不斷出棧,直到目標(biāo)返回頁,新頁面入棧

switchTab 頁面全部出棧,只留下新的 Tab 頁面

reLanch 頁面全部出棧,只留下新的頁面

通過組件形式進行跳轉(zhuǎn)

// navigator 組件默認的 open-type 為 navigate 
跳轉(zhuǎn)到新頁面

// 如需要其它形式進行跳轉(zhuǎn),可以更改open-type 屬性以上api值
切換 Tab
getCurrentPages

getCurrentPages() 函數(shù)用于獲取當(dāng)前頁面棧的實例(屬性及方法),以數(shù)組形式按棧的順序給出,第一個元素為首頁,最后一個元素為當(dāng)前頁面

// Page A 跳轉(zhuǎn)至Page B
wx.navigateTo({ url: "/pages/B/B" })

// Page B
const pages = getCurrentPages()
const perPage = pages[pages.length - 2] // 上一個頁面
perPage.setData({
    title: "JS每日一題"
})
總結(jié)

小程序頁面由棧形式管理,最多為5層,在合理的場景使用合理的方式進行跳轉(zhuǎn)

關(guān)于JS每日一題

JS每日一題可以看成是一個語音答題社區(qū)
每天利用碎片時間采用60秒內(nèi)的語音形式來完成當(dāng)天的考題
群主在次日0點推送當(dāng)天的參考答案

注 絕不僅限于完成當(dāng)天任務(wù),更多是查漏補缺,學(xué)習(xí)群內(nèi)其它同學(xué)優(yōu)秀的答題思路

點擊加入答題

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/102284.html

相關(guān)文章

  • JS每日一題: 程序頁面之間如何通信?

    摘要:小程序頁面之間如何通信首先將通信的模型列舉出來分為以下幾種兄弟頁面間通信父路徑頁面向子路徑頁面通信子路徑頁面向父路徑頁面通信通信的方式本地存儲全局對象發(fā)布訂閱緩存整個至利用激活方法,通過傳遞數(shù)據(jù)清空上次通信數(shù)據(jù)同一樣,利用激活方法,通過讀寫 20190227 小程序頁面之間如何通信? 首先將通信的模型列舉出來, 分為以下幾種 兄弟頁面間通信 父路徑頁面向子路徑頁面通信 子路徑頁面向父...

    RancherLabs 評論0 收藏0
  • JS每日一題什么情況下適合使合vuex?Vuex使用中個步驟?

    摘要:什么情況下適合使合使用中有幾個步驟開始之前先簡單了解一下定義是一個狀態(tài)管理機制采用集中式存儲應(yīng)用所有組件的狀態(tài)嗯,就是一句話能說明白的,沒明白的,我們用代碼再理解一下什么叫集中式式存儲比如下面這段代碼,同時需要用到,那么我們首先能想到就是在 20190121 什么情況下適合使合vuex?Vuex使用中有幾個步驟? 開始之前先簡單了解一下vuex 定義: vuex是一個狀態(tài)管理機制,采用...

    wow_worktile 評論0 收藏0
  • JS每日一題:Vue-router哪些鉤子?使用場景?

    摘要:問有哪些鉤子使用場景的實現(xiàn)可以點這里前面我們用大白話講過什么是鉤子,這里在重復(fù)一下,就是在什么什么之前什么什么之后英文叫專業(yè)點叫生命周期,裝逼點可以叫守衛(wèi)中也存在鉤子的概念分為三步記憶全局守衛(wèi)路由獨享守衛(wèi)組件獨享守衛(wèi)全局守衛(wèi)很好理解,全 20190218問 Vue-router有哪些鉤子?使用場景? router的實現(xiàn)可以點這里 前面我們用大白話講過什么是鉤子,這里在重復(fù)一下,就是在...

    張金寶 評論0 收藏0
  • JS每日一題:Vue中的diff算法?

    摘要:,文本節(jié)點的比較,需要修改,則會調(diào)用。,新節(jié)點沒有子節(jié)點,老節(jié)點有子節(jié)點,直接刪除老節(jié)點。所以一句話,的作用主要是為了高效的更新虛擬。 20190125 Vue中的diff算法? 概念: diff算法是一種優(yōu)化手段,將前后兩個模塊進行差異對比,修補(更新)差異的過程叫做patch(打補丁) 為什么vue,react這些框架中都會有diff算法呢? 我們都知道渲染真實dom的開銷是很大的...

    Caicloud 評論0 收藏0
  • daily-question-02(前端每日一題02)

    摘要:靜態(tài)作用域與動態(tài)作用域靜態(tài)作用域函數(shù)的作用域基于函數(shù)創(chuàng)建的位置。采用的是詞法作用域,也稱為靜態(tài)作用域??梢越俪终麄€對象,并返回一個新的對象。防誤觸延緩執(zhí)行立即執(zhí)行節(jié)流所謂節(jié)流,就是指連續(xù)觸發(fā)事件但是在秒中只執(zhí)行一次函數(shù)。 在這里記錄著每天自己遇到的一道印象深刻的前端問題,以及一道生活中隨處可見的小問題。 強迫自己形成積累的習(xí)慣,鞭撻自己不斷前行,共同學(xué)習(xí)。 Github 地址 2019...

    lk20150415 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<