2014-12-04 22 views
15

Thiết controller.$options trong link chức năng dường như làm việc cho debouncing mờ sự kiện:Làm thế nào để thiết lập tùy chọn ng-model trong một chỉ thị tùy chỉnh?

controller.$options = { 
    updateOn : 'blur', 
    debounce : 3000 
}; 

... nhưng nếu tôi cố gắng tương tự cho mặc định sự kiện, mô hình được không bao giờ cập nhật:

controller.$options = { 
    updateOn : 'default', 
    debounce : 3000 
}; 

Khi sử dụng chỉ thị ng-model-options thay vào đó, mọi thứ hoạt động như mong đợi.

Xem http://plnkr.co/edit/KLrSrs2Jw7pkoAUNRJDf?p=preview

Trả lời

18

Nhìn vào source of the ngModelOptions directive, dường như thay vì thiết updateOn : 'default', bạn cần phải thiết lập controller.$options.updateOnDefault = true;

+1

và một lần nữa bạn cần phải xem mã nguồn, oh cảm ơn các bạn! tài liệu API tuyệt vời –

15

đối với trường hợp của bạn, bạn có thể thử

ngModelController.$options = { 
    updateOn: 'blur', 
    updateOnDefault: true, 
    debounce: { 
     'blur': 2000, 
     'default': 3000 
    } 
    }; 

nhưng bây giờ (ng1. 6+) bạn phải làm như (đọc thêm here, herehere):

ngModelController.$overrideModelOptions({ 
    updateOn: 'blur', 
    updateOn: 'default', 
    debounce:= { 
     'blur': 2000, 
     'default': 3000 
    } 
}); 
+0

Cảm ơn đã lưu ngày của tôi !!! –

+0

@steampowered bạn hoàn toàn đúng, tôi sẽ cập nhật –

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