[英]get the value of input text in a directive (ANGULAR.JS)
你好 這是我的代碼。 我需要獲取輸入文本的值,但是當輸入文本上的值更改時,我只能獲取該值。 如何無需更改即可獲取輸入文本的值。(最初獲取輸入文本的值)
我想做一些非常通用的事情,以便可以在任何控制器中重用它。 有一定數量的字段並對其進行驗證,所以我不想總是獲取變量“ number”的值。
我想在任何控制器上重用此指令。 我將不會總是擁有$ scope.numero變量。 如何在不在指令中鍵入scope.numero的情況下獲取文本字段的值?
var app = angular.module('app', []);
app.controller('appCtrl', function ($scope) {
$scope.numero=100500
});
app.directive('validate', function () {
return {
restrict: 'AE',
require: 'ngModel',
link: function (scope, element, attrs, ngModel) {
if (!ngModel){
return;
}
ngModel.$parsers.push(function(val){
if ((val>10) && (val<20)){
element.removeClass("wrong");
element.addClass("correct");
} else {
element.removeClass("correct");
element.addClass("wrong");
}
ngModel.$render();
})
}
};
});
您需要的數據已經在ngModel
內部,因此您可以使用ngModel.$modelValue
檢索它。
(通常,使用Angular時,最好擺脫從DOM讀取數據的習慣-DOM是作用域數據的副作用表示;無需使用指令“從輸入字段讀取數據”,因為輸入字段首先是使用指令中已有的數據填充的!)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.