Может ли кто-нибудь объяснить мне, как работает этот кусок кода.Может ли кто-нибудь объяснить мне эту директиву по паролю?
HTML Markup
<input type="password" ng-model="password" class="form-control" placeholder="Password" required>
<input type="password" ng-model="confirm_password" class="form-control" placeholder="Password" required validate-equals="password">
Директива Код
'использовать строгий';
angular.module('raJwtApp')
.directive('validateEquals', function() {
return {
require: "ngModel",
link: function postLink(scope, element, attrs, ngModelCtrl) {
function validate(value){
console.log(value, scope.$eval(attrs.validateEquals));
var valid = (value === scope.$eval(attrs.validateEquals));
ngModelCtrl.$setValidity('equal', valid);
return valid ? value : undefined;
}
ngModelCtrl.$parsers.push(validate);
ngModelCtrl.$formatters.push(validate);
scope.$watch(attrs.validateEquals, function(){
ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue);
})
}
};
});
Может ли кто-нибудь объяснить мне ниже questions
.
Что делает код ниже в directive
?. Я действительно не понимаю, как работает эта директива соответствия паролю.
$scope.watch(attrs.validateEquals, function(){
//ngModelCtrl.$viewValue always returns undefined
ngModelCtrl.$setViewValue(ngModelCtrl.$viewValue);
});