2012-01-05 116 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

相关问题