我寫了一個簡單的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剛剛更新了這個問題。 –