オブジェクトの指定されたフィールドの変更を検出するために、この要点を見つけました:https ://gist.github.com/3138469
ただし、イベントは1つのフィールドにのみバインドされます。
Javascriptオブジェクト全体の変更を検出するための関数やトリックを知っている人はいますか?
オブジェクトの指定されたフィールドの変更を検出するために、この要点を見つけました:https ://gist.github.com/3138469
ただし、イベントは1つのフィールドにのみバインドされます。
Javascriptオブジェクト全体の変更を検出するための関数やトリックを知っている人はいますか?
2019年の更新:最近では、プロキシAPIを使用してはるかに効率的な方法でこれを実現できます。オンチェンジライブラリは、これをさらに簡単にするために、舞台裏でProxyAPIを使用します。
2012年の更新: Watch.jsの作成者が、はるかに幅広いブラウザーのサポートを備えたライブラリを参照していることに気づきました。MultiGetSet.JS
これを実現したい場合は、通常Watch.jsを使用しますが、オブジェクト全体または1つの属性を監視できます。
現在、これは不可能です。個々のプロパティに対してのみゲッター/セッターを定義できます。
Proxy
それでも、それを行うことができるオブジェクトのドラフトがあります。現在、 FirefoxのJavascript1.8.5でのみサポートされています。
これは、watch.jsを使用しては不可能です。オブジェクトの変更またはオブジェクトの属性を検出するだけです。オブジェクトに属性を追加したか、新しく追加された属性を変更したかは検出されません...