国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

原生javascript實現類似vue的數據綁定功能示例【觀察者模式】

2024-05-06 15:44:49
字體:
來源:轉載
供稿:網友

本文實例講述了原生javascript實現類似vue的數據綁定功能。分享給大家供大家參考,具體如下:

觀察者模式

let observer = {    /*訂閱功能*/    addSubscriber: function (cb) {      this.subscribers.push(cb);    },    /*退訂功能*/    removerSubscriber: function (cb) {      let index = this.subscribers.indexOf(cb);      this.subscribers.splice(index, 1)    },    // 發布功能    publish: function (what) {      for (let i in this.subscribers) {        if (typeof this.subscribers[i] == "function") {          this.subscribers[i](what);        }      }    },    // 讓每個對象具有訂閱功能    make:function(obj){      for(let key in this){        obj[key] = this[key];      }      obj.subscribers = [];    },  }

使用實例

  // 定義對象    let o = {};    // 實現數據綁定 實現具有發布訂閱功能    observer.make(o);    // 發布    $("#num").oninput = function(){      o.publish(this.value);    };    // 平方功能    o.addSubscriber(function(num){      $("#sqrnum").value = Math.pow(num,2);    });    o.addSubscriber(function(num){      $("#cubenum").value = Math.pow(num,3);    });    o.addSubscriber(function(num){      $("#fourFangnum").value = Math.pow(num,4);    });    o.addSubscriber(function(num){      $("#sqrtnum").value = Math.sqrt(num);    });  }  function $(str){//#box .cls p    if(str.charAt(0)=="#"){      return document.getElementById(str.substring(1));    }else if(str.charAt(0)=="."){      return document.getElementsByClassName(str.substring(1));    }else{      return document.getElementsByTagName(str);    }  }

感興趣的朋友可以使用在線HTML/CSS/JavaScript前端代碼調試運行工具:http://tools.Vevb.com/code/WebCodeRun測試上述代碼運行效果。

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 桑日县| 繁昌县| 马尔康县| 彭水| 乐昌市| 丹棱县| 延边| 毕节市| 广水市| 信阳市| 大兴区| 家居| 婺源县| 延长县| 武川县| 万宁市| 晋宁县| 长宁县| 荣成市| 郑州市| 阳高县| 三江| 紫金县| 文登市| 柞水县| 玛沁县| 巩留县| 湖南省| 新竹县| 广饶县| 黄龙县| 错那县| 芷江| 新巴尔虎右旗| 济南市| 崇明县| 嘉禾县| 常宁市| 宜宾县| 车致| 阳朔县|