我的Aurelia应用程序中有一些复杂的屏幕,我想轻易检查一些绑定是否脏检查。我可以在我的所有属性getter中添加 console.log ,并检查它何时被调用,但这并不容易。
理想情况下,我想在控制台中获取每个绑定所使用的观察者策略,但我没有找到插入位置以添加此日志。
由于
答案 0 :(得分:12)
您可以覆盖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);
}
控制台中的消息如下所示:
这是一个正在运行的示例应用: