我写了一个简单的Angular指令,通过这个指令我在文本框中输入任何内容,例如ion-Md-input
应该在我的指令中验证长度为6.并且我试图观察变量,直到它达到6的大小并验证并基于它激活提交按钮。如何监视指令中的角度变量和验证?
的index.html
<div>
<ion-md-input label="Enter the Device ID" hightlight-color="dark" type="text" ng-model="link" required ng-minlength=6></ion-md-input>
</div>
指令
vehicoApp.directive('ionMdInput', ['$http',function($http){
console.log('In ionMdInput');
return {
restrict : 'E',
template :
'<input type="text" class="transition-input ng-model="link" required ng-minlength=6>'+
'<span class="md-highlight"></span>'+
'<span class="md-bar"></span>'+
'<label>{{label}}</label>',
require : 'ngModel',
scope : {
'label' : '@',
'ngModel' : '='
},
link : function (scope, elem, attrs, ngModel)
{
if(!ngModel) return;
scope.$watch(attrs.link, function(){
validate();
}, true);
var validate = function() {
var val1 = ngModel.$viewValue;
console.log(val1);
}
}
}
}]);
现在,即使是在我开始在文本框中键入名称。我得到一个未定义的,仍然是这样。现在我想看到这个价值并验证它。我会怎么做呢? 经过大量SO帖子后我没有看到任何错误。
你的指令不看起来那么简单。你能描述一下你想达到的目标吗?对ngModel控制器的引用是对'ionMdInput'指令的声明元素的引用 - 而不是模板中声明的ngModel。 - 你在哪里定义了一个名为link的“属性”?只有一个“链接”值。 – Michael
@Michael刚刚更新了这个问题。 –