国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

小程序request三層封裝和分包以及路由和組件傳參

這篇具有很好參考價值的文章主要介紹了小程序request三層封裝和分包以及路由和組件傳參。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

  1. 工程化的概念
  2. 工程化API封裝 【重點(diǎn)】30%
  3. 工程化組件封裝 【重點(diǎn)】30%
  4. 小程序路由【重點(diǎn)】30%
  5. 上架
  6. 小程序分包【重點(diǎn)】10%

1. 工程化的概念

在開發(fā)小程序時,需要將自己的代碼進(jìn)行封裝,命名要規(guī)范,位置要規(guī)范,以達(dá)到代碼復(fù)用,可以大量生產(chǎn)的效果

2. request三層封裝

對 wx.request() 發(fā)請求的API進(jìn)行三層封裝

2.1 工具函數(shù)層

utils/request.js 對 wx.request進(jìn)行封裝

//封裝第一層,對wx.request進(jìn)行封裝
const baseURL="http://www.look518.com";

const request = (options) => {
    return new Promise((resolve, reject)=>{
        wx.request({
            ...options,
            url: baseURL + options.url,
            success(res){
                //將異步操作的結(jié)果通過resolve傳遞出去
                resolve(res)
            },
            fail(err){
                //將失敗的信息傳遞出去
                reject(err)
            }
        })
    })
}

module.exports = request;

2.2 接口函數(shù)層

api/film.js 對接口進(jìn)行封裝

//封裝第二層,對接口進(jìn)行封裝
const request = require('../utils/request.js');

//獲取電影列表
const getList = (data)=>{
    return request({
        method:'get',
        url:'/api/film.php?a=list',
        data,
    })
}

module.exports={
    getList,
}

2.3 應(yīng)用層

在 index.js 頁面邏輯上進(jìn)行調(diào)用

let {getList}=require('../../api/film.js');

async onLoad(){
    let res=await getList({page:1, pagesize:5})
    console.log(res.data.data);
}

3. 自定義組件【重點(diǎn)】

3.1 創(chuàng)建和使用組件

第一步:創(chuàng)建組件

新建 components 文件夾,在里面新建組件文件夾,再點(diǎn) 鼠標(biāo)右鍵 => “新建 Component”

在 .wxml 中寫組件的內(nèi)容

第二步:使用組件

在 index.json 中注冊組件

"usingComponents": {
  "my-button":"../../components/my-button/my-button"
}

在 index.wxml 中使用組件

<my-button></my-button>

3.2 組件的生命周期

組件的生命周期寫在 .js 中的 lifetimes 屬性中

//生命周期函數(shù)
lifetimes:{
    created(){
        console.log('1. 組件創(chuàng)建了')
    },

    attached(){
        console.log('2. 組件渲染完成了')
    },

    detached(){
        console.log('3. 組件被干掉了');
    }
}

3.3 參數(shù)父傳子

將父組件的數(shù)據(jù)傳遞給子組件

第一步:在父組件中設(shè)置自定義屬性,將數(shù)據(jù)傳遞給子組件

<!-- 數(shù)據(jù)父傳子 -->
<my-button txt="普通按鈕"></my-button>
<my-button txt="馬上注冊新會員"></my-button>
<my-button></my-button>

第二步:在子組件中接收數(shù)據(jù)

properties: {
    txt:{
        type:String,  #數(shù)據(jù)類型
        value:'我是按鈕', #默認(rèn)值
    },
    ...
},

3.4 參數(shù)子傳父

將子組件的數(shù)據(jù)傳遞給父組件

第一步:在子組件中觸發(fā)自定義事件,并傳參數(shù)

//數(shù)據(jù)子傳父
this.triggerEvent('toFather', this.data.num)

第二步:在父組件中使用子組件時,設(shè)置自定義事件,接收參數(shù)

<my-button txt="普通按鈕" bind:toFather="getData"></my-button>

//接收子組件傳回的數(shù)據(jù)
getData(obj){
    console.log(obj.detail);
},

4. 小程序的路由【重點(diǎn)】

4.1 配置路由

在 app.json 全局配置中配置路由

"pages": [
    "pages/index/index",
    "pages/list/list"
],

4.2 配置 tabBar

在 app.json 全局配置中,可以添加 tabBar 實(shí)現(xiàn)底部導(dǎo)航

"tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "iconPath":"images/home1.png",
      "selectedIconPath": "images/home2.png",
      "text": "首頁"
    }, {
      "pagePath": "pages/list/list",
      "text": "列表"
    }, {
        "pagePath": "pages/news/news",
        "text": "新聞"
    }]
},

4.3 路由的API

switchTab切換tab,只能切換出現(xiàn)在 tabBar 上面的頁面

wx.switchTab({url:'/pages/list/list'})

reLaunch,清空全部頁面,跳轉(zhuǎn)到指定的頁面

wx.reLaunch({url: '/pages/list02/list02'})

redirectTo,關(guān)閉當(dāng)前頁面,跳轉(zhuǎn)到指定的頁面

wx.redirectTo({url: '/pages/list02/list02'})

navigateTo,保留當(dāng)前頁面,跳到下一個頁面

wx.navigateTo({url: '/pages/list01/list01'})

navigateBack,后退一個頁面

wx.navigateBack()

5. 小程序上架

小程序上架必須按公眾平臺的上線流程,完成每一個步驟

第一步:完善信息

第二步:開發(fā)小程序

第三步:上傳到微信服務(wù)器, 開發(fā)版本 》 審核版本 》 上線版本

注意:不要上傳demo,即使上傳了demo也不要提交審核

6. 小程序分包

小程序單包大小限制為 2M,如果開發(fā)的項(xiàng)目大于2M就需要分包

第一步:配置 app.json ,添加子包的設(shè)置

"subpackages": [
    {"root":"pageA", "pages":["index/index"]},
    {"root":"pageB", "pages":["home/home"]}
],

第二步:在主包中跳轉(zhuǎn)過去

第三步:上傳

注意事項(xiàng):文章來源地址http://www.zghlxwxcb.cn/news/detail-634801.html

  1. tabBar 頁面必須在主包內(nèi)
  2. subpackage 的根目錄不能是另外一個 subpackage 內(nèi)的子目錄
  3. 每個子包是獨(dú)立的,相互之間不能訪問,但是每一個子包都可以訪問主包的數(shù)據(jù)

到了這里,關(guān)于小程序request三層封裝和分包以及路由和組件傳參的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vue3 Vue-Router詳解 Vue3配置hash 和 history路由、Vue3封裝的路由hook函數(shù)(useRouter,useRoute)的使用 路由懶加載、路由分包處理、魔法注釋的使用

    ?html部分 js部分 ?html頁面使用路由傳來的參數(shù) ?獲取router跳轉(zhuǎn)id 獲取?路由跳轉(zhuǎn)錯誤地址

    2024年02月11日
    瀏覽(24)
  • 如何使用useNavigate 進(jìn)行路由的跳轉(zhuǎn)以及傳參,并且獲取參數(shù)。

    本文章主要是講述如何通過 useNavigate攜帶參數(shù)并在對應(yīng)組件進(jìn)行接收。 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 一定一定要在App組件外面包裹一層router,比如BrowerRouter 獲取Params參數(shù)使用useParams 獲取search參數(shù)使用useSearchParams 使用useLocation獲取search參數(shù) 不同的路由

    2024年02月12日
    瀏覽(22)
  • 【Vue框架】Vue2中Vue.js路由—路由介紹、路由控制組件切換、路由重定向、路由傳參、嵌套路由、路由布局(附源碼詳解)

    【Vue框架】Vue2中Vue.js路由—路由介紹、路由控制組件切換、路由重定向、路由傳參、嵌套路由、路由布局(附源碼詳解)

    Vue Router官方文檔 :https://router.vuejs.org/zh/installation.html 使用路由文件: 1.引用vue-router路由js文件 2.創(chuàng)建router對象 3.在vm對象中注冊router對象 4.在視圖中使用 router-view 標(biāo)簽 第一種傳參形式——路由路徑進(jìn)行傳參,如:/login?id=20 第二種傳參形式——路由占位符進(jìn)行傳參,如:/

    2023年04月08日
    瀏覽(27)
  • 記錄一下:uniapp小程序分包后引用組件報錯問題

    記錄一下:uniapp小程序分包后引用組件報錯問題

    ?具體遇到的場景是這樣的,我當(dāng)前文件是在主包中,但是引入的這幾個組件是在分包下面,于是就造成了引入錯誤,我曾嘗試者用絕對跟相對路徑引入缺仍然報錯 最終看到一個貼記錄的是: 小程序分包后,主包應(yīng)該是不能引用分包的任何資源,分包可以引用主包的任何資源

    2024年02月15日
    瀏覽(54)
  • 微信小程序路由傳參

    在微信小程序中,可以通過路由傳參將數(shù)據(jù)傳遞給目標(biāo)頁面。以下是一種常見的方式: 在源頁面中,使用 wx.navigateTo 或 wx.redirectTo 方法跳轉(zhuǎn)到目標(biāo)頁面,并通過 URL 參數(shù)傳遞數(shù)據(jù)。示例: 在目標(biāo)頁面的 onLoad 生命周期函數(shù)中,可以通過 options 參數(shù)獲取傳遞的參數(shù)。示例: 通過

    2024年02月07日
    瀏覽(21)
  • 小程序request請求封裝

    小程序request請求封裝

    以上為本人的項(xiàng)目目錄 1.首先在 utils中創(chuàng)建request.js 文件封裝request請求,此封裝帶上了 token ,每次請求都會自帶 token ,需要你從后端獲取后利用 wx.setStorageSync(\\\'token\\\',返回的token), 不使用的話就是空 。 直接復(fù)制即可,需要改一下請求地址,有些配置自己可根據(jù)實(shí)際情況修改,

    2024年02月06日
    瀏覽(17)
  • 原生微信小程序基礎(chǔ)-分包加載&&自定義組件&&&項(xiàng)目全流程

    原生微信小程序基礎(chǔ)-分包加載&&自定義組件&&&項(xiàng)目全流程

    小程序分包加載 小程序分包加載-為什么要分包加載 微信平臺對小程序單個包的代碼 體積限制為 2M ,超過 2M 的情況下可以采用分包來解決 即使小程序代碼體積沒有超過 2M 時也可以拆分成多個包來實(shí)現(xiàn) 按需加載 配置文件能忽略的只有靜態(tài)資源, 代碼無法被忽略 配置忽略文

    2024年02月08日
    瀏覽(22)
  • 小程序基礎(chǔ)學(xué)習(xí)(組件傳參)

    小程序基礎(chǔ)學(xué)習(xí)(組件傳參)

    原理:通知在組件標(biāo)簽中傳遞參數(shù)已達(dá)到傳參的目的 ? 在組件的js的?properties中接受傳遞來的參數(shù) 然后在頁面是展示這些數(shù)據(jù) ? 源碼: ?并在需要引入組件傳參的地方使用組件即可 ?

    2024年01月22日
    瀏覽(12)
  • 【小程序 - 加強(qiáng)】自定義組件、使用npm包、全局?jǐn)?shù)據(jù)共享、分包_05

    【小程序 - 加強(qiáng)】自定義組件、使用npm包、全局?jǐn)?shù)據(jù)共享、分包_05

    目錄 一、自定義組件 1. 組件的創(chuàng)建與引用 1.1 創(chuàng)建組件 1.2?引用組件 1.2.1?局部引用組件 1.2.2 全局引用組件 1.2.3?全局引用 VS 局部引用 1.2.4?組件和頁面的區(qū)別 2. 樣式 2.1?組件樣式隔離 2.2?組件樣式隔離的注意點(diǎn) 2.3?修改組件的樣式隔離選項(xiàng) 2.4?styleIsolation 的可選值 3. 數(shù)據(jù)

    2024年02月07日
    瀏覽(51)
  • 封裝小程序request請求[接口函數(shù)]

    封裝小程序request請求[接口函數(shù)]

    ?? ? ? ? 在這篇小程序API的Promise化文章中講到小程序官方提供的異步API都是基于回調(diào)函數(shù)來實(shí)現(xiàn)的,在大量的使用這種回調(diào)函數(shù)就會造成回調(diào)地獄的問題,以及代碼的可讀性和可維護(hù)性差,通過對小程序API的Promise化能解決,那么本篇是來講進(jìn)行對微信小程序網(wǎng)絡(luò)數(shù)據(jù)請求的

    2024年02月03日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包