2016-03-30 31 views
6

Tôi có một số màn hình phức tạp trong ứng dụng Aurelia của tôi và tôi muốn kiểm tra dễ dàng nếu một số ràng buộc là bẩn được kiểm tra. Tôi có thể thêm console.log vào tất cả các tài sản của tôi getter và kiểm tra khi nó được gọi là nhưng nó không phải dễ dàng.Làm thế nào để kiểm tra xem việc kiểm tra bẩn có được sử dụng không?

Lý tưởng nhất là tôi muốn nhận được trong giao diện điều khiển chiến lược quan sát được sử dụng bởi mỗi ràng buộc, nhưng tôi không tìm thấy nơi để cắm thêm nhật ký này.

Cảm ơn

Trả lời

10

Bạn có thể ghi đè lên DirtyCheckProperty 's đăng ký phương pháp để thêm logging:

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); 
} 

Các thông điệp sẽ trông như thế này trong giao diện điều khiển:

console

Dưới đây là một hoạt động ứng dụng ví dụ:

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

Các vấn đề liên quan