2016-03-30 21 views
6

私はAureliaのアプリに複雑な画面があり、バインドがで汚れていれば、簡単にチェックしたいと思います。。私はconsole.logを私のすべてのプロパティgetterに追加し、それが呼び出されたときにチェックしますが、それは簡単ではありません。ダーティチェックが使用されているかどうかを確認するには?

理想的には、各バインディングで使用されるオブザーバーストラテジーをコンソールに入れたいのですが、このログを追加する場所を見つけることができませんでした。

おかげ

答えて

10

あなたはDirtyCheckProperty年代を上書きすることができますログを追加する方法をサブスクライブ:

import {DirtyCheckProperty} from 'aurelia-binding'; 
import * as LogManager from 'aurelia-logging'; 

const logger = LogManager.getLogger('my-app'); 

DirtyCheckProperty.prototype.standardSubscribe = DirtyCheckProperty.prototype.subscribe; 
DirtyCheckProperty.prototype.subscribe = function(context, callable) { 
    this.standardSubscribe(context, callable); 

    logger.warn(`'${this.obj.constructor.name}.${this.propertyName}' is being dirty checked`, this.obj); 
} 

メッセージがコンソールに次のようになります。

console

はここで実行していますサンプルアプリ:

https://gist.run/?id=2c863d48a2a711b8c5f93df2bb7c4a3b

関連する問題