觀看頁面任何對象或屬性的變化:Watch.js

jopen 10年前發布 | 30K 次閱讀 Watch.js JavaScript開發

一個比較有意思的js庫可以為javascript的對象實現觀察者模式,以往我們使用javascript實現的觀察者模式都是通過使用回調函數配合 dom上的event事件來操作的,而“Watch.js”可以為javascript的對象實現觀察者模式,監聽對象的變化。

用麻雀雖小五臟俱全來描述Watch.js比較合適。“觀察者”模式是我們在開發的時候經常需要用到的。使用Watch.js那么我們就可以實現在“每當對象屬性改變的時候,執行你的函數”。雖然有很多其他的庫可以實現相同的功能,但是Watch.js卻可以不改變你平時書寫代碼的方式,并且實現屬性改變的監聽功能。

瀏覽兼容情況 :P

Works with: IE 9+, FF 4+, SF 5+, WebKit, CH 7+, OP 12+, BESEN, Node.JS , Rhino 1.7+


watch.js目前主要可以做如下這些事情:

 1,監聽對象上一個或多個屬性的改變,當改變后觸發自定義事件。
 2,批量觀察一個對象上所有的屬性,當有任何一個改變時,觸發自定義事件。
 3,可以取消訂閱觀察
 4,你可以在你需要的時候,不用改變對象上的屬性值,就可手動觸發觀察器。
 5,可以與jquery兼容

使用:觀察一個對象屬性的變化

//defining our object however we like
var ex1 = {
    attr1: "initial value of attr1",
    attr2: "initial value of attr2"
};

//defining a 'watcher' for an attribute
watch(ex1, "attr1", function(){
    alert("attr1 changed!");
});

//when changing the attribute its watcher will be invoked
ex1.attr1 = "other value";

項目主頁:http://www.baiduhome.net/lib/view/home/1415688705805

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!