2012-01-05 126 views
0

我正在尋找某種方法將函數綁定到變量變量。當變量發生變化時調用函數

var arr = [], 
    str = 'hello'; 
onChange(arr, console.log); 
onChange(str, console.log); 
arr.push('element'); // console output: ["element"] 
str += ' stack over flow'; // console output: "hello stack overflow" 

- 或類似的東西。

是否有任何用純JS或jQuery編寫的kinda-mini-framework?

+1

可能重複的[在javascript中檢測變量更改](http://stackoverflow.com/questions/1759987/detect-variable-change-in -javascript) – 2012-01-05 11:20:27

+0

是的,我需要類似的東西,但也有跟蹤數組變化的能力(通過過度使用.push()和其他方法)。 – eXtractor 2012-01-05 12:38:45

回答

1

您可以使用knockout.js這種類型的UI元素 - >數據綁定。這是非常棒的,默認情況下支持jQuery(雖然也可以使用其他框架)

+0

是的,我之前考慮過使用knockout.js,並且不確定是否現在要重寫我的應用程序的一大部分。現在我發現ko.observable看起來正是我想要的,除了一件事情:我更喜歡monkeypatching,但這不是什麼大不了的事情。 – eXtractor 2012-01-05 12:53:00

+0

而我最初認爲它需要jQuery模板:) – eXtractor 2012-01-05 12:58:05

相關問題