2012-01-05 14 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-changein -javascript) –

+0

ええ、そういうものが必要ですが、配列の変更を追跡する機能(overwrited .push()やその他のメソッドを使用することもできます)が必要です。 – eXtractor

答えて

1

この種のui要素 - >データバインディングにはknockout.jsを使用できます。それはかなり素晴らしいとデフォルトで(他のフレームワークも使用することができますが)jQueryをサポートしています

+0

ええ、以前はknockout.jsの使用を検討していましたが、現在私のアプリケーションの大きな部分を書き直したいかどうかはわかりませんでした。今私はko.observableが1つのことを除いて私が望むものを正確に見ていることを知った:私はmonkeypatchingを好むだろうが、それは大きな問題ではない。 – eXtractor

+0

そして私は当初はjQueryテンプレートが必要だと思っていました:) – eXtractor

関連する問題