小程序request三层封装和分包以及路由和组件传参

这篇具有很好参考价值的文章主要介绍了小程序request三层封装和分包以及路由和组件传参。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 工程化的概念
  2. 工程化API封装 【重点】30%
  3. 工程化组件封装 【重点】30%
  4. 小程序路由【重点】30%
  5. 上架
  6. 小程序分包【重点】10%

1. 工程化的概念

在开发小程序时,需要将自己的代码进行封装,命名要规范,位置要规范,以达到代码复用,可以大量生产的效果

2. request三层封装

对 wx.request() 发请求的API进行三层封装

2.1 工具函数层

utils/request.js 对 wx.request进行封装

//封装第一层,对wx.request进行封装
const baseURL="http://www.look518.com";

const request = (options) => {
    return new Promise((resolve, reject)=>{
        wx.request({
            ...options,
            url: baseURL + options.url,
            success(res){
                //将异步操作的结果通过resolve传递出去
                resolve(res)
            },
            fail(err){
                //将失败的信息传递出去
                reject(err)
            }
        })
    })
}

module.exports = request;

2.2 接口函数层

api/film.js 对接口进行封装

//封装第二层,对接口进行封装
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 应用层

在 index.js 页面逻辑上进行调用

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

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

3. 自定义组件【重点】

3.1 创建和使用组件

第一步:创建组件

新建 components 文件夹,在里面新建组件文件夹,再点 鼠标右键 => “新建 Component”

在 .wxml 中写组件的内容

第二步:使用组件

在 index.json 中注册组件

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

在 index.wxml 中使用组件

<my-button></my-button>

3.2 组件的生命周期

组件的生命周期写在 .js 中的 lifetimes 属性中

//生命周期函数
lifetimes:{
    created(){
        console.log('1. 组件创建了')
    },

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

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

3.3 参数父传子

将父组件的数据传递给子组件

第一步:在父组件中设置自定义属性,将数据传递给子组件

<!-- 数据父传子 -->
<my-button txt="普通按钮"></my-button>
<my-button txt="马上注册新会员"></my-button>
<my-button></my-button>

第二步:在子组件中接收数据

properties: {
    txt:{
        type:String,  #数据类型
        value:'我是按钮', #默认值
    },
    ...
},

3.4 参数子传父

将子组件的数据传递给父组件

第一步:在子组件中触发自定义事件,并传参数

//数据子传父
this.triggerEvent('toFather', this.data.num)

第二步:在父组件中使用子组件时,设置自定义事件,接收参数

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

//接收子组件传回的数据
getData(obj){
    console.log(obj.detail);
},

4. 小程序的路由【重点】

4.1 配置路由

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

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

4.2 配置 tabBar

在 app.json 全局配置中,可以添加 tabBar 实现底部导航

"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,只能切换出现在 tabBar 上面的页面

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

reLaunch,清空全部页面,跳转到指定的页面

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

redirectTo,关闭当前页面,跳转到指定的页面

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

navigateTo,保留当前页面,跳到下一个页面

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

navigateBack,后退一个页面

wx.navigateBack()

5. 小程序上架

小程序上架必须按公众平台的上线流程,完成每一个步骤

第一步:完善信息

第二步:开发小程序

第三步:上传到微信服务器, 开发版本 》 审核版本 》 上线版本

注意:不要上传demo,即使上传了demo也不要提交审核

6. 小程序分包

小程序单包大小限制为 2M,如果开发的项目大于2M就需要分包

第一步:配置 app.json ,添加子包的设置

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

第二步:在主包中跳转过去

第三步:上传

注意事项:文章来源地址https://www.toymoban.com/news/detail-634801.html

  1. tabBar 页面必须在主包内
  2. subpackage 的根目录不能是另外一个 subpackage 内的子目录
  3. 每个子包是独立的,相互之间不能访问,但是每一个子包都可以访问主包的数据

到了这里,关于小程序request三层封装和分包以及路由和组件传参的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue3 Vue-Router详解 Vue3配置hash 和 history路由、Vue3封装的路由hook函数(useRouter,useRoute)的使用 路由懒加载、路由分包处理、魔法注释的使用

     html部分 js部分  html页面使用路由传来的参数  获取router跳转id 获取 路由跳转错误地址

    2024年02月11日
    浏览(45)
  • 如何使用useNavigate 进行路由的跳转以及传参,并且获取参数。

    本文章主要是讲述如何通过 useNavigate携带参数并在对应组件进行接收。 提示:以下是本篇文章正文内容,下面案例可供参考 一定一定要在App组件外面包裹一层router,比如BrowerRouter 获取Params参数使用useParams 获取search参数使用useSearchParams 使用useLocation获取search参数 不同的路由

    2024年02月12日
    浏览(50)
  • 【Vue框架】Vue2中Vue.js路由—路由介绍、路由控制组件切换、路由重定向、路由传参、嵌套路由、路由布局(附源码详解)

    Vue Router官方文档 :https://router.vuejs.org/zh/installation.html 使用路由文件: 1.引用vue-router路由js文件 2.创建router对象 3.在vm对象中注册router对象 4.在视图中使用 router-view 标签 第一种传参形式——路由路径进行传参,如:/login?id=20 第二种传参形式——路由占位符进行传参,如:/

    2023年04月08日
    浏览(88)
  • 记录一下:uniapp小程序分包后引用组件报错问题

     具体遇到的场景是这样的,我当前文件是在主包中,但是引入的这几个组件是在分包下面,于是就造成了引入错误,我曾尝试者用绝对跟相对路径引入缺仍然报错 最终看到一个贴记录的是: 小程序分包后,主包应该是不能引用分包的任何资源,分包可以引用主包的任何资源

    2024年02月15日
    浏览(44)
  • 微信小程序路由传参

    在微信小程序中,可以通过路由传参将数据传递给目标页面。以下是一种常见的方式: 在源页面中,使用 wx.navigateTo 或 wx.redirectTo 方法跳转到目标页面,并通过 URL 参数传递数据。示例: 在目标页面的 onLoad 生命周期函数中,可以通过 options 参数获取传递的参数。示例: 通过

    2024年02月07日
    浏览(39)
  • 小程序request请求封装

    以上为本人的项目目录 1.首先在 utils中创建request.js 文件封装request请求,此封装带上了 token ,每次请求都会自带 token ,需要你从后端获取后利用 wx.setStorageSync(\\\'token\\\',返回的token), 不使用的话就是空 。 直接复制即可,需要改一下请求地址,有些配置自己可根据实际情况修改,

    2024年02月06日
    浏览(42)
  • 原生微信小程序基础-分包加载&&自定义组件&&&项目全流程

    小程序分包加载 小程序分包加载-为什么要分包加载 微信平台对小程序单个包的代码 体积限制为 2M ,超过 2M 的情况下可以采用分包来解决 即使小程序代码体积没有超过 2M 时也可以拆分成多个包来实现 按需加载 配置文件能忽略的只有静态资源, 代码无法被忽略 配置忽略文

    2024年02月08日
    浏览(54)
  • 小程序基础学习(组件传参)

    原理:通知在组件标签中传递参数已达到传参的目的   在组件的js的 properties中接受传递来的参数 然后在页面是展示这些数据   源码:  并在需要引入组件传参的地方使用组件即可  

    2024年01月22日
    浏览(28)
  • 【小程序 - 加强】自定义组件、使用npm包、全局数据共享、分包_05

    目录 一、自定义组件 1. 组件的创建与引用 1.1 创建组件 1.2 引用组件 1.2.1 局部引用组件 1.2.2 全局引用组件 1.2.3 全局引用 VS 局部引用 1.2.4 组件和页面的区别 2. 样式 2.1 组件样式隔离 2.2 组件样式隔离的注意点 2.3 修改组件的样式隔离选项 2.4 styleIsolation 的可选值 3. 数据

    2024年02月07日
    浏览(41)
  • 微信小程序 封装request请求

    创建 utils 文件夹后创建 api 文件夹创建 request.js 创建 index.js

    2024年02月15日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包