Bu gönderi , bulanıklık olayı tetiklenene kadar model değişikliklerini bir girişte geciktiren bir direktif örneğini gösterir .
İşte bir keman olduğunu gösteriyor yeni ng model-on-bulanıklık yönergesi ile çalışan ng-değişim. Bunun orijinal keman için küçük bir değişiklik olduğunu unutmayın .
Yönergeyi kodunuza eklerseniz, buna bağlamanızı değiştirirsiniz:
<input type="text" ng-model="name" ng-model-onblur ng-change="update()" />
Yönerge şu şekildedir:
angular.module('app', []).directive('ngModelOnblur', function() {
return {
restrict: 'A',
require: 'ngModel',
priority: 1,
link: function(scope, elm, attr, ngModelCtrl) {
if (attr.type === 'radio' || attr.type === 'checkbox') return;
elm.unbind('input').unbind('keydown').unbind('change');
elm.bind('blur', function() {
scope.$apply(function() {
ngModelCtrl.$setViewValue(elm.val());
});
});
}
};
});
Not: @wjin aşağıdaki yorumlarda da belirtildiği gibi, bu özellik doğrudan Angular 1.3'te (şu anda beta sürümünde) desteklenmektedir ngModelOptions
. Daha fazla bilgi için belgelere bakın .