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

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

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

瀏覽:182日期: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久久在线| 玖玖精品视频| 激情六月综合| 国产一区三区在线播放| 日韩精品a在线观看91| 美女国产一区| 久久中文字幕av一区二区不卡| 久久99蜜桃| 国产免费av国片精品草莓男男| 美美哒免费高清在线观看视频一区二区 | 九色porny丨国产首页在线| 欧美亚洲色图校园春色| 视频一区视频二区中文| 久久精品观看| 中文字幕在线视频久| 欧美国产免费| 日本精品另类| 911亚洲精品| 老司机精品视频网| 成人三级高清视频在线看| 成人片免费看| 国产毛片一区| 国产探花一区在线观看| 国产一区二区三区精品在线观看| 久久精品资源| 日本少妇一区| 99国产精品视频免费观看一公开| 中文字幕中文字幕精品| 欧美亚洲三级| 成人三级高清视频在线看| 精品一区三区| 婷婷精品在线| 91一区二区三区四区| 日韩一区二区久久| 国产调教精品| 日韩不卡视频在线观看| 久久av在线| 免费一级欧美片在线观看网站| 久久久久久一区二区| 国产超碰精品| 亚洲色图网站| sm捆绑调教国产免费网站在线观看 | 久久99蜜桃| 久久中文字幕二区| 日韩精品第一| 成人免费电影网址| 一区二区国产精品| 黄色在线网站噜噜噜| 视频一区二区三区中文字幕| 中文字幕日韩亚洲| 成人台湾亚洲精品一区二区| 亚洲小说欧美另类婷婷| 日韩精品一区二区三区中文在线| 91欧美日韩| 亚洲欧美久久精品| av高清不卡| 日韩在线观看中文字幕| 国产高清不卡| 91精品尤物| 欧美日韩国产一区精品一区| 国产精品麻豆成人av电影艾秋| 亚洲成人一区| 久久99精品久久久野外观看| 婷婷综合激情| 日本色综合中文字幕| 亚洲综合图色| 精品三级在线观看视频| 久久午夜视频| 国产欧洲在线| 亚洲男人在线| 久久男女视频| 欧美精品aa| 亚洲精品日本| 欧美精选一区二区三区| 麻豆传媒一区二区三区| 亚洲精品国模| 91精品观看| 国产精品久久久久av电视剧| 国产精品久一| 免费欧美日韩| 国产高清一区| 黑人精品一区| 久久亚洲黄色| 日韩av资源网| 三级一区在线视频先锋| 国产一在线精品一区在线观看| 韩国一区二区三区视频| 日韩av成人高清| 日韩精品一区第一页| 国产v综合v| 国产美女亚洲精品7777| 一区二区三区网站| 1024精品久久久久久久久| 日韩高清成人| 久久精品国产久精国产| 国产亚洲精aa在线看| 中文字幕一区日韩精品| 国产手机视频一区二区| 韩国三级一区| 中文字幕在线看片| 高清一区二区三区| 麻豆国产欧美一区二区三区| 日韩av一区二| 天堂精品久久久久| 蜜桃视频免费观看一区| 国产精品老牛| 国精品一区二区三区| 成人三级高清视频在线看| 精品在线网站观看| 欧美日韩1区| 91精品视频一区二区| 日韩高清欧美激情| 日韩中文字幕在线一区| 在线观看一区| 亚洲精品乱码久久久久久蜜桃麻豆| 国产精品视区| av成人国产| 亚洲激情欧美| 在线综合亚洲| 欧美精品一二| 亚洲色诱最新| 中文无码久久精品| 蜜桃视频第一区免费观看| 一区二区电影| 男人操女人的视频在线观看欧美| 午夜宅男久久久| 亚洲欧美久久精品| 青草国产精品| 国产精品亚洲四区在线观看| 国产精品一区二区av日韩在线| 国产精品日本一区二区不卡视频| 国产精品久久久久久妇女| 久久wwww| 日本一区二区高清不卡| 日韩一区二区中文| 亚洲午夜91| 蜜桃视频一区二区三区在线观看| 日韩精品免费视频一区二区三区| 奇米色欧美一区二区三区| 日韩精品视频一区二区三区| 国产精品亚洲片在线播放| 老司机精品视频在线播放| 国产成人精品一区二区三区免费 | 蘑菇福利视频一区播放| 老司机精品久久| 日韩精品福利一区二区三区| 久久国产乱子精品免费女| 国产精品乱战久久久| av高清不卡| 在线亚洲一区| 国产欧美综合一区二区三区| 国产区精品区| 一区二区三区四区日本视频| 欧美成人高清| 亚洲视频二区| 国产精品www.| 日韩国产一区二区| 红桃视频欧美| 91亚洲无吗| 红杏一区二区三区| 国精品一区二区| 日本午夜精品视频在线观看| 麻豆91在线播放| 欧美 日韩 国产一区二区在线视频 | 亚洲日产国产精品| 久久久91麻豆精品国产一区| 欧美日韩水蜜桃| 亚洲一级大片| 精品一区二区三区视频在线播放| 国产99久久久国产精品成人免费| 中文字幕av一区二区三区人 | 香蕉久久久久久久av网站| 欧美日本三区| 日韩国产一区| 亚洲资源网站| 麻豆一区二区在线| 视频福利一区| 日韩激情一区二区| 日韩电影免费网址| 欧美另类综合| 欧美国产视频| 国产精品美女久久久| 国产精品亚洲片在线播放| 久久亚洲专区| 免费亚洲一区| 在线国产精品一区| 日韩精品诱惑一区?区三区| 亚洲精品动态| 久久精品国产大片免费观看| 欧美亚洲综合视频| 播放一区二区| 欧美欧美黄在线二区| 九一精品国产| 国内一区二区三区| 亚洲区第一页| 久久久久久美女精品| 国产精品免费99久久久| 性欧美精品高清| 日韩精品欧美|