यह पोस्ट उस निर्देश का एक उदाहरण दिखाता है जो धमाके की घटना के आग लगने तक मॉडल को इनपुट में बदल देता है ।
यहाँ एक फिडल है जो नए एनजी-मॉडल-ऑन-ब्लर निर्देश के साथ काम करने के बदलाव को दिखाता है। ध्यान दें कि यह मूल फिडेल के लिए एक मामूली मोड़ है ।
यदि आप अपने कोड में निर्देश जोड़ते हैं तो आप अपने बंधन को इस में बदल देंगे:
<input type="text" ng-model="name" ng-model-onblur ng-change="update()" />
यहाँ निर्देश है:
// override the default input to update on blur
angular.module('app', []).directive('ngModelOnblur', function() {
return {
restrict: 'A',
require: 'ngModel',
priority: 1, // needed for angular 1.2.x
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());
});
});
}
};
});
नोट: जैसा कि इस फीचर के नीचे की टिप्पणियों में @wjin का उल्लेख किया गया है, सीधे Angular 1.3 (वर्तमान में बीटा में) के माध्यम से समर्थित है ngModelOptions। अधिक जानकारी के लिए डॉक्स देखें ।