日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

原生js實現的觀察者和訂閱者模式簡單示例

瀏覽:179日期:2024-05-12 15:49:39

本文實例講述了原生js實現的觀察者和訂閱者模式。分享給大家供大家參考,具體如下:

觀察者模式也叫 發布者-訂閱者模式,發布者發布事件,訂閱者監聽事件并做出反應

在傳統的前端解耦方面,觀察者模式作為比較常見一種設計模式,大量使用在各種框架類庫的設計當中。

核心代碼:

// eventProxy.js’use strict’;const eventProxy = { onObj: {}, oneObj: {}, on: function(key, fn) { if(this.onObj[key] === undefined) { this.onObj[key] = []; } this.onObj[key].push(fn); }, one: function(key, fn) { if(this.oneObj[key] === undefined) { this.oneObj[key] = []; } this.oneObj[key].push(fn); }, off: function(key) { this.onObj[key] = []; this.oneObj[key] = []; }, trigger: function() { let key, args; if(arguments.length == 0) { return false; } key = arguments[0]; args = [].concat(Array.prototype.slice.call(arguments, 1)); if(this.onObj[key] !== undefined && this.onObj[key].length > 0) { for(let i in this.onObj[key]) { this.onObj[key][i].apply(null, args); } } if(this.oneObj[key] !== undefined && this.oneObj[key].length > 0) { for(let i in this.oneObj[key]) { this.oneObj[key][i].apply(null, args); this.oneObj[key][i] = undefined; } this.oneObj[key] = []; } }}; export default eventProxy;

使用:引入全局事件類,或通過配置webpack將事件類設置為全局變量

import { eventProxy } from ’@/utils’ class Parent extends Component{ render() { return ( <div style={{marginTop:'50px'}}> <Child_1/> <Child_2/> </div> ); }}// componentDidUpdate 與 render 方法與上例一致class Child_1 extends Component{ componentDidMount() { setTimeout(() => { // 發布 msg 事件 console.log(eventProxy) eventProxy.trigger(’msg’, ’end’,’lll’); }, 5000); } render() { return ( <div>我是組件一</div> ) }}// componentDidUpdate 方法與上例一致class Child_2 extends Component{ state = { msg: ’start’ }; componentDidMount() { // 監聽 msg 事件 eventProxy.on(’msg’, (msg,mm) => { console.log(msg,mm) this.setState({ msg:msg }); }); } render() { return <div> <p>child_2 component: {this.state.msg}</p> </div> }}

參考:淘寶前端團隊技術庫

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美中文字幕一区二区| 婷婷丁香综合| 亚洲综合中文| 国产精品色网| 在线一区免费| 影音先锋久久| 91精品高清| 日本精品在线中文字幕| 麻豆成人av在线| 久久91视频| 国产精品乱战久久久| 国产精品黄网站| 日韩av有码| 日本精品不卡| av亚洲免费| 亚洲一区二区三区久久久| 日本亚洲最大的色成网站www| 日韩一区精品| 麻豆视频一区| 日韩不卡视频在线观看| 极品日韩av| 国产精品色网| 日本成人精品| 美女国产一区二区三区| 国产高潮在线| 日韩国产欧美| 日韩视频免费| 日本va欧美va精品发布| 久久字幕精品一区| 欧洲亚洲一区二区三区| 先锋影音久久久| 国产精品乱战久久久| 日韩av首页| 蜜臀精品一区二区三区在线观看 | 国产精品亚洲综合色区韩国| 久久精品国内一区二区三区| 91精品国产成人观看| 蜜桃91丨九色丨蝌蚪91桃色| 国产一级成人av| 精品不卡一区| 9久re热视频在线精品| 国产日本久久| 99久久九九| 亚洲欧美网站在线观看| 久久精品国产999大香线蕉| 欧美精品一区二区久久| 国产欧美一级| 欧美色图一区| 久久激情五月婷婷| 日韩在线视频精品| 四虎精品永久免费| 中文在线资源| 日本成人手机在线| 欧美日韩中文一区二区| 日韩精品一级| 桃色一区二区| 国产日韩欧美三区| 婷婷综合网站| 久久av影院| 亚洲激情偷拍| 精品一区二区三区中文字幕| 午夜久久美女| 国产中文字幕一区二区三区| 蜜桃一区二区三区在线观看| 中文字幕高清在线播放| 欧美日韩午夜电影网| 欧美91精品| 麻豆精品视频在线观看视频| 在线观看亚洲精品福利片| 国产91在线播放精品| 亚洲a级精品| 亚洲福利专区| 精品国产亚洲一区二区三区在线| 久久午夜精品| 久久人人精品| 久久精品福利| 欧美一区二区三区久久| 亚洲欧美日韩国产综合精品二区| 国产资源在线观看入口av| 日本99精品| 最新日韩av| 久久久人人人| 精品国产精品久久一区免费式 | 99久久亚洲精品| 麻豆精品在线播放| 日韩高清中文字幕一区| 99riav国产精品| 日韩毛片视频| 美女精品一区二区| 91精品美女| 影音先锋久久精品| 欧美日韩高清| 欧美成人基地 | 伊人久久高清| 久久只有精品| 视频一区视频二区在线观看| 亚洲一级少妇| 久久精品国内一区二区三区| 日韩二区三区四区| 日韩专区一卡二卡| 婷婷综合亚洲| 秋霞影院一区二区三区| 美女国产一区二区三区| 国产丝袜一区| 国产视频网站一区二区三区| 天堂俺去俺来也www久久婷婷| 日韩视频精品在线观看| 国产精品13p| 久久精品国产99国产| 久久av中文| 久久99偷拍| 国产精品hd| 国产精品调教视频| 日本免费新一区视频| 亚洲深深色噜噜狠狠爱网站| 蜜桃av一区| 视频一区视频二区中文| 免费人成在线不卡| 亚洲理论在线| 亚洲三级视频| 亚洲三级在线| 伊人久久亚洲| 女人天堂亚洲aⅴ在线观看| 日韩精品欧美激情一区二区| av在线日韩| 亚洲高清成人| 黑丝一区二区| 午夜在线精品偷拍| 日韩精品一级二级| 亚洲视频电影在线| 日韩精品一区二区三区中文在线| 三级久久三级久久久| 日韩激情视频网站| 人人爱人人干婷婷丁香亚洲| 国产欧美一区二区三区米奇| 欧美aⅴ一区二区三区视频| 国产一区二区三区四区大秀| 欧美丰满日韩| 激情欧美亚洲| 蜜桃视频在线观看一区二区| 欧美一区免费| 精品亚洲免a| 久久九九国产| 久久都是精品| 日本精品久久| 国产一区二区三区黄网站| 精品亚洲美女网站| 亚洲一区免费| 欧美亚洲网站| 成人一区而且| 91国语精品自产拍| 亚洲人成高清| 免费在线亚洲| 免费看av不卡| 国产亚洲毛片在线| 亚洲资源在线| 久久久久伊人| 欧美不卡视频| 日本欧美一区二区在线观看| 国产在线观看91一区二区三区 | 久久久久久久欧美精品| 亚洲影院天堂中文av色| 嫩草伊人久久精品少妇av杨幂| 日韩电影二区| 三级欧美在线一区| 国产精品porn| 国产主播一区| 亚洲1区在线观看| 国产一区2区| 伊人精品视频| 国产探花一区二区| 久久久精品网| 亚洲精品免费观看| 高清精品久久| 久久国产精品毛片| 国产精品一区二区av交换| 欧美日韩夜夜| 色一区二区三区四区| 久久这里只有精品一区二区| 深夜视频一区二区| 91tv亚洲精品香蕉国产一区| 好看的av在线不卡观看| 欧美欧美黄在线二区| 日本免费一区二区视频| 国产福利一区二区精品秒拍| 91精品xxx在线观看| 国产精品久久久久久久免费观看| 日本黄色精品| 综合色一区二区| 亚洲日产av中文字幕| 国产一区日韩欧美| 91久久亚洲| 国产欧美一区二区色老头| 正在播放日韩精品| 亚洲欧美一区在线| 亚洲日本免费电影| 综合日韩av| 中文精品视频| 国产精品对白久久久久粗| 在线视频精品|