微信小程序 -订阅发布模式

这篇具有很好参考价值的文章主要介绍了微信小程序 -订阅发布模式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

图形展示:

微信小程序 -订阅发布模式,微信小程序,小程序

代码展示:

1. 安装模块 pubsub-js

npm i pubsub-js --save

2. 导入模块(在需要订阅发布的 js 页面内进行导入)

import PubSub from 'pubsub-js'

注:在微信小程序中无法直接npm 下载 导入 的(安装一个就需要构建一次)

解决:菜单栏 --> 工具 -->  构建 npm  点击即可(会出现新的目录)

详情页:

1. 绑定两个事件,用于在点击 prev(上一页)  next(下一页) 时触发事件

wxml页面:

<viewclass="musicControl">
    <text class="iconfont icon-iconsMusicyemianbofangmoshiShuffle"></text>
    <text
        class="iconfont icon-shangyishou"
        id="pre"
        bindtap="switchMusic"  //绑定事件
    ></text>
    <text
        class="iconfont {{isPlay ? "icon-zanting':'icon-bofang' } big"
        bindtap="musicPlay"  
    ></text>
    <text 
        class="iconfont icon-next" 
        id="next bindtap="switchMusic'  //绑定事件
    ></text>
    <text class="iconfont icon-iconsMusicyemianbofangmoshiplayList"></text>
</view>

2. 触发事件,使用 PubSub 的 publish 方法进行发布 

js页面:

switchMusic(e){
    //是需要向歌曲列表页进行信息的发布
    const type = e.currentTarget.id;
    PubSub.publish("switchType",type);
},

3. 在生命周期 onLoad 中 使用 PubSubsubscribe 方法对列表页发布的内容进行订阅

有两个参数:

        参数一:要订阅的发布名称

        参数二:回调函数,处理订阅的 发布信息内容

                函数参数一 (msg):发布的对应名称  如:PubSub.publish("musicId",musicId);

                函数参数二 (musicId):发布的对应参数  如:PubSub.publish("musicId",musicId);
 

onLoad(options) {
    PubSub.subscribe("musicId",(msg, musicId) => {
        console.log("musicId:", musicId);
    });
},

列表页:
1. 在生命周期 onLoad 中 使用 PubSub 的 subscribe 方法对详情页发布的内容进行订阅

有两个参数:

        参数一:要订阅的发布名称

        参数二:回调函数,处理订阅的 发布信息内容

                函数参数一 (msg):发布的对应名称  如:  PubSub.publish("switchType",type);

                函数参数二 (type):发布的对应参数  如: PubSub.publish("switchType",type);
 

onLoad(options) {
    PubSub.subscribe("switchType",(msg, type) => {
        let { index, recommendList } = this.data;
        
        // 控制边界
        if(type === "next") {
            index === recommendList.length -1 && (index = -1);
            // 下一首
            index += 1;
        } else {
            index === 0 && (index = recommendList.length);
            //上一首
            index -= 1;
        }
        console.log(index);
    });
},

2. 处理完数据后,在下方使用 PubSub 的 publish 方法进行发布文章来源地址https://www.toymoban.com/news/detail-759809.html

onLoad(options) {
    PubSub.subscribe("switchType",(msg, type) => {
        let { index, recommendList } = this.data;
 
        if(type === "next") {
            // 下一首
            index += 1;
        } else {
            //上一首
            index -= 1;
        }
        console.log(index);
        let musicId = recommendList[index].id;
        PubSub.publish("musicId",musicId); //将音乐id发布到详情页
        this.setData({
            index,
        });
    });
},

到了这里,关于微信小程序 -订阅发布模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 微信小程序:发送小程序订阅消息

    文档:小程序订阅消息(用户通过弹窗订阅)开发指南 在微信公众平台(https://mp.weixin.qq.com)手动配置获取模板 ID 2.1、获取消息下发权限 文档:一次性订阅消息、长期订阅消息 示例代码 这里需要注意一个坑,如果用户未授权,需要引导用户打开设置手动设置 2.2、获取登录凭

    2024年01月25日
    浏览(43)
  • 微信小程序消息订阅功能

    消息能力是小程序能力中的重要组成,我们为开发者提供了订阅消息能力,以便实现服务的闭环和更优的体验。 订阅消息推送位置:服务通知 订阅消息下发条件:用户自主订阅(用户订阅了才能接收推送的消息) 订阅消息卡片跳转能力:点击查看详情可跳转至该小程序的页

    2024年02月05日
    浏览(44)
  • 微信小程序 如何订阅消息?

    微信公众号分为两种类型:订阅号和服务号,它们在功能和使用方式上有一些区别。 1.订阅号(Subscription Account): 2.服务号(Service Account): 微信公众号的类型是在注册时选择的,一旦选择了订阅号或服务号,无法直接转换。如果您主要是提供资讯和更新性内容,订阅号可

    2024年02月06日
    浏览(60)
  • 微信小程序之订阅消息

    其实客户端的步骤很简单 这里放上文档地址 https://developers.weixin.qq.com/miniprogram/dev/api/open-api/subscribe-message/wx.requestSubscribeMessage.html 第一步 首先我们需要到微信公众平台的 订阅消息-公共消息模板处选择需要的模板添加到-我的模板。 通过wx.requestSubscribeMessage()方法调起小程序订

    2024年02月11日
    浏览(46)
  • 微信小程序——订阅通知消息

    1.在微信公众平台的订阅消息页面设置模板消息 2.后端发送订阅消息需要得到用户的唯一id 通过   wx.login() 获取微信的唯一配置 code (每一个微信号只有一个code) 通过接口把获取到的 code 发送给后端 获取openid   3.在登录页面点击登录按钮的时候让用户同意接收订阅消息 使用

    2024年02月13日
    浏览(53)
  • 微信小程序通知,微信小程序长期订阅消息添加硬件设备能力的设备订阅消息step-by-step

    本文目的,分享一个实际案例: 开发微信小程序的报警器的微信订阅消息, 设备报警后触发微信报警 前提: 有一个微信小程序并且微信认证过。 1: 添加设备申请权限 2:按照实际情况填写设备信息, 一般等两天到三天能审核过  3: 申请设备消息能力 , 这个一部不做的

    2024年04月16日
    浏览(53)
  • java实现微信小程序订阅和推送订阅信息

    1、进入微信公众平台,扫码登录 2、获取appid和secret 3、配置模板 在对应yml中配置 前端调用弹出是否订阅时调用后台服务 1、controller 2、后端接参AddSinosoftWxSubscribeParam 3、service 一般时通过时间或者调度进行调用服务,以下只进行服务实现展示 1、在domain层写send方法 1、首先小

    2024年02月13日
    浏览(51)
  • uniapp 小程序订阅消息 一次订阅多个 wx.requestSubscribeMessage 微信小程序订阅消息

    如图所示,订阅消息 官方文档: 小程序订阅消息官方文档 1,消息类型 (1) 一次性订阅消息 用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。 (2) 长期订阅消息 用户订阅一次后,开发者可长期下发多条消息。 目前长期性订阅消息

    2024年02月09日
    浏览(62)
  • 微信小程序消息订阅Java

    编写日期 : 2022-11-04 写这篇文章原因 公司给政府做一个订餐系统,需要在员工在小程序上发起订餐后经过部门领导和书记的审批后,再由食堂确认订餐结果。在订餐审批单在各个节点流转的过程中,需要给每一个节点的审批人发送 微信订阅消息 和 手机短信 ,通知订餐流程所

    2024年02月10日
    浏览(54)
  • uniapp 微信小程序 订阅消息

    第一步,需要先去小程序官方挑选一下订阅模板 拿到模板id   订阅按钮在头部导航上,所以  

    2024年02月13日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包