成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

自制微信小程序通訊JS

keke / 2026人閱讀

摘要:自制微信小程序通訊起因現(xiàn)在微信小程序開發(fā)基本會(huì)使用到組件的開發(fā)。隨著組件的不斷增加,使得組件之間的通訊越發(fā)頻繁。這個(gè)能使得我們?cè)诮M件和頁面之間隨意通訊,您只需要按照規(guī)范注冊(cè),使用即可,可以幫你建立任意兩個(gè)組件之間的通信通道。

自制微信小程序通訊JS 起因
現(xiàn)在微信小程序開發(fā)基本會(huì)使用到組件的開發(fā)。隨著組件的不斷增加,使得組件之間的通訊越發(fā)頻繁。然后,微信小程序中組件之前通訊必須通過父子關(guān)系才能進(jìn)行。
這個(gè)js能使得我們?cè)诮M件和頁面之間隨意通訊,您只需要按照規(guī)范注冊(cè),使用即可,可以幫你建立任意兩個(gè)組件之間的通信通道。
項(xiàng)目

github 地址: https://github.com/szpoppy/wx...

npm : https://www.npmjs.com/package...

喜歡的朋友不要吝嗇你的 star , 在此先感謝了
功能

Component 之間通訊

Page之間通訊

Component和Page之間的通訊

一對(duì)一通訊

一對(duì)多通訊(廣播機(jī)制)

使用

由于微信小程序默認(rèn)不支持npm包管理機(jī)制,你從 github下載zip包,提取unicom.js后,直接放入微信小程序源碼目錄(代碼沒有使用ES6語法,放心使用)

全局注冊(cè)機(jī)制(將會(huì)重寫Page和Component)
// 引入包
var unicom = require("unicom");
// 下面這個(gè)函數(shù)將重寫 Page 和 Component
// 注:全局機(jī)制注冊(cè)后,所有局部注冊(cè)將失效
unicom.rewrite();
局部注冊(cè)
// Page中注冊(cè)
var unicom = require("unicom");
// Page中通過onLoad時(shí),初始化unicom
Page({
    onLoad: function(){
        // 注冊(cè) this 到unicom
        // id 可選, 優(yōu)先這里傳入的ID
        unicom.pageInit(this, "id");
    }
})

// Component中使用behaviors來注冊(cè)
Component({
    behaviors: [unicom.behavior]
})
關(guān)于設(shè)置頁面id
// 頁面中 Page
Page({
    unicomId: "id"
})
// 或者 局部注冊(cè)中
// 注:如果使用 全局注冊(cè),局部注冊(cè)將失效,只能通過上面方法來注冊(cè)
Page({
    onLoad: function(){
        unicom.pageInit(this, "id");
    }
})
如果同時(shí)使用了兩種方式注冊(cè),如果局部注冊(cè)生效,優(yōu)先局部注冊(cè),否組會(huì)使用第一種
關(guān)于設(shè)置組件id


關(guān)于設(shè)置通訊方法
// Page和Component 通用
Page|Component({
    unicom: {
        // 定義消息方法
        // arg1, arg2 是調(diào)用時(shí)傳入
        message: function(arg1, arg2) {
            // 當(dāng)前頁面 unicom相關(guān)參數(shù) 請(qǐng)不要隨意修改
            this.unicom
            // 生成的唯一id
            this.unicom.id
            // 傳入的唯一id
            this.unicom.cusId
            // 調(diào)用我的最后發(fā)送者
            this.unicom.sender
            // 發(fā)送消息
            this.unicom.send
        }
    }
})
發(fā)送消息
// Page和Component 通用
Page|Component({
    methods: {
        method1: function() {
            // 發(fā)送了message消息后,所有定義message消息的unicom都可以收到消息
            this.unicom.send("message", "arg1", "arg2")
        },
        method1: function() {
            // 將message消息發(fā)送給 id1,id2這兩個(gè)有自定義id的組件或者頁面
            this.unicom.send("message#id1,id2", "arg1", "arg2")
        }
    }
})

// 方法二 引入 unicom
var unicom = require("unicom");
// 發(fā)送了message消息后,所有定義message消息的unicom都可以收到消息
unicom.send("message", "arg1", "arg2")
// 將message消息發(fā)送給 id1,id2這兩個(gè)有自定義id的組件或者頁面
unicom.send("message#id1,id2", "arg1", "arg2")
unicom 中的屬性

unicom.send("事件名稱[#id1,id2]", ...參數(shù)) 觸發(fā)事件,如果設(shè)置了目標(biāo)id,則只發(fā)送到目標(biāo)id中對(duì)應(yīng)的方法。

unicom.behavior Component中,使用behaviors來局部注冊(cè)

unicom.pageInit(this[, id]) Page中局部注冊(cè)函數(shù)

unicom.rewrite() app.js中全局注冊(cè)u(píng)nicom的注冊(cè)函數(shù)

如果上述有興趣,還可以加QQ群討論: 953844490

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99341.html

相關(guān)文章

  • 信小程序 自制手勢庫

    摘要:微信小程序手勢事件庫由于微信小程序只能夠支持時(shí)間,對(duì)于比較復(fù)雜的事件只能自己實(shí)現(xiàn)因此自己對(duì)庫進(jìn)行了改造,開發(fā)了時(shí)候微信小程序手勢事件庫使用進(jìn)行編寫手勢庫支持以下事件倉庫地址點(diǎn)我點(diǎn)我使用由于和微信小程序強(qiáng)綁定,因此需要在元素上面綁定好所有的事 WxTouchEvent 微信小程序手勢事件庫 由于微信小程序只能夠支持 tap,longtap,touchstart,touchmove,tou...

    cucumber 評(píng)論0 收藏0
  • 自制,簡易仿京東信小程序demo

    摘要:學(xué)習(xí)微信小程序一段時(shí)間,自己仿照京東小程序做了幾個(gè)頁面,分享給大家看看源碼地址,希望能幫助到有興趣的同學(xué)喜歡可以加星哦其中幾個(gè)效果圖如下介紹一下事先準(zhǔn)備的事情前期部署項(xiàng)目命名規(guī)范用駝峰法命名中命名用分隔,用接口中數(shù)據(jù)用分隔文件文件夾命名 學(xué)習(xí)微信小程序一段時(shí)間,自己仿照京東小程序做了幾個(gè)demo頁面,分享給大家看看 源碼地址,希望能幫助到有興趣的同學(xué)https://github.com...

    sourcenode 評(píng)論0 收藏0
  • 自制,簡易仿京東信小程序demo

    摘要:學(xué)習(xí)微信小程序一段時(shí)間,自己仿照京東小程序做了幾個(gè)頁面,分享給大家看看源碼地址,希望能幫助到有興趣的同學(xué)喜歡可以加星哦其中幾個(gè)效果圖如下介紹一下事先準(zhǔn)備的事情前期部署項(xiàng)目命名規(guī)范用駝峰法命名中命名用分隔,用接口中數(shù)據(jù)用分隔文件文件夾命名 學(xué)習(xí)微信小程序一段時(shí)間,自己仿照京東小程序做了幾個(gè)demo頁面,分享給大家看看 源碼地址,希望能幫助到有興趣的同學(xué)https://github.com...

    shiweifu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<