微信小程序91~100

1.eventChannel-页面间通信

如果一个页面通过wx.navigateTo打开一个新页面,这两个页面之间将建立一条数据通道

  1. 在wx.navigateTo的success回调中通过eventChannel对象发射事件

  2. 被打开的页面可以通过this.getOpenerEventChannel()方法获得一个eventChannel对象,进行监听发射事件

  3. wx.navigateTo方法中可以定义events配置项接收被打开页面发射的事件

    wx.navigateTo({
    url: '/miniprogram/pages/list/list.js',
    events: {
    currentevent: (res) => {
    console.log(res);
    }
    },
    success (res) {
    res.eventChannel.emit('myevent', {name: 'tom'})
    }
    })

    // pages/list/list.js
    Page({
    onLoad () {
    // 获取EventChannel对象
    const EventChannel = this.getOpenerEventChannel()

    复制代码
         //监听页面发射的自定义事件
         EventChannel.on('myevent', (res) => {
             console.log(res);
         })
         
         // 通过EventChannel提供的emit方法 可以向上一级页面传递数据
         // 需要使用emit定义自定义事件,携带需要传递的数据
         EventChannel.emit('currentevent', {age: 10})
     }

    })

2.组件通信-事件总线

事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理机制,允许不同的组件彼此之间通信,常用于两个非父子关系组件和兄弟组件之间通信。

通过借助第三方的发布订阅JS包来实现

复制代码
// 引入
import PubSub from 'pubsub-js'
组件1
Page({
    methods: {
        sentData() {
            //publish 发布、发射自定义事件
            // 自定义事件的名称
            // 需要传递的数据
            PubSub.publish('myevent', this.data.name)
        }
    },
})

组件2
  // 钩子函数
    lifetimes: {
        attached () {
            // subscribe订阅、监听自定义的事件
            // 需要订阅、监听自定义的事件的名称
            // 回调函数,(有两个参数)
            //  msg:自定义的事件的名称
            //  data:传递过来的数据
            PubSub.subscribe('myevent', (msg,data) => {
                console.log(msg,data)

                this.setData({
                    name: data.name
                })
            })
        }
    }
3. 自定义导航栏

在app.json或者page.json中,配置navigationStyle属性为custom,就可以自定义导航栏,在设置完以后,就会移除默认的导航栏,只保留右上角胶囊按钮

复制代码
{
    "usingComponents": {},
    "navigationStyle": "custom"
}

<swiper class="custom-swiper" indicator-dots autoplay="true" interval="2000">
    <swiper-item>
        <image src="" mode=""/>
    </swiper-item>

    <swiper-item>
        <image src="" mode=""/>
    </swiper-item>

    <swiper-item>
        <image src="" mode=""/>
    </swiper-item>
</swiper>
4.上线发布


5.慕尚花坊-申请开发权限

将自己的微信号发送给对应小程序账号的管理员,而不是手机号

开发设置,AppID

1.创建项目与项目初始化

2.自定义构建npm+集成sass

将源码文件移动到miniprogram

  1. 集成项目页面文件

  2. 使用vsCode开发小程序项目时,如果需要预览、依然需要借助微信开发者工具

  3. 根目录 .vscode文件夹中 settings.json文件只对当前项目生效

  4. 如果想配置项生效,要注意:在vscode中只能打开一个小程序项目,不能同时打开多个,且项目目录不要嵌套打开

相关推荐
java1234_小锋10 小时前
【免费】基于Python的微信小程序网约车(打车,在线叫车,移动出行)系统(FastAPI+Vue3) 锋哥原创出品,必属精品
微信小程序·小程序·fastapi·网约车系统·在线叫车系统
2501_9160074715 小时前
Bundle ID 注册与管理 App ID 创建指南 命名规则 权限开关与删除注意事项
android·ios·小程序·https·uni-app·iphone·webview
凡科网小帆21 小时前
2026小程序商城做的比较好的品牌,怎么选小程序商城品牌
小程序·小程序商城
2501_915909061 天前
iOS 证书创建与管理 类型限制 p12 密码与云备份实操
android·ios·小程序·https·uni-app·iphone·webview
拖孩2 天前
用 AI 重解千年观音灵签,做了一个微信小程序,每天摇一摇,命运给你回应
前端·后端·微信小程序
黄华SJ520it2 天前
顶俏洗衣液模式制度开发介绍:S2B2C社交分销+多门店核销系统全解析
前端·数据库·小程序·零售·系统开发
北极糊的狐2 天前
钉钉小程序报错data.formatTime is not a function是因为 axml 模板中不能直接调用 Page 内自定义方法!
java·小程序·钉钉
java1234_小锋2 天前
【免费】微信小程序网约车(打车,在线叫车,移动出行)系统(SpringBoot4+Vue3) 锋哥原创出品,必属精品
微信小程序·网约车·在线叫车·移动出行
show4333 天前
多格式导出怎么做?2026免费小程序TXT/SRT实践
开发语言·小程序·c#
AI砖家3 天前
AI编程—微信小程序开发规范
微信小程序·小程序·notepad++·ai编程