Javascript 获取指令(ANGULAR.JS)中输入文本的值
嗨。这是我的密码。我需要获取输入文本的值,但我只能在更改输入文本上的值时获取该值。如何在不需要更改的情况下获取输入文本的值。(最初获取输入文本的值) 我想做一些非常通用的事情,我可以在任何控制器中重用它。有一定数量的字段并对其进行验证,因此我不希望总是得到变量“number”的值 我想在任何控制器上重复使用此指令。我不会总是使用$scope.numero变量。如果不在指令中键入scope.numero,如何获取文本字段的值Javascript 获取指令(ANGULAR.JS)中输入文本的值,javascript,angularjs,Javascript,Angularjs,嗨。这是我的密码。我需要获取输入文本的值,但我只能在更改输入文本上的值时获取该值。如何在不需要更改的情况下获取输入文本的值。(最初获取输入文本的值) 我想做一些非常通用的事情,我可以在任何控制器中重用它。有一定数量的字段并对其进行验证,因此我不希望总是得到变量“number”的值 我想在任何控制器上重复使用此指令。我不会总是使用$scope.numero变量。如果不在指令中键入scope.numero,如何获取文本字段的值 var app = angular.module('app', []
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();
})
}
};
});
var-app=angular.module('app',[]);
app.controller('appCtrl',函数($scope){
$scope.numero=100500
});
应用程序指令('validate',函数(){
返回{
限制:“AE”,
要求:'ngModel',
链接:功能(范围、元素、属性、模型){
如果(!ngModel){
返回;
}
ngModel.$parsers.push(函数(val){
如果((val>10)&(val您需要的数据已经在ngModel
中,那么您可以使用ngModel.$modelValue
检索它
(一般来说,在使用Angular时,最好摆脱从DOM读取数据的习惯——DOM是范围数据的副作用表示;不需要指令“从输入字段读取数据”,因为输入字段首先是使用指令中已有的数据填充的!)您需要的数据已经在ngModel
中,因此您可以使用ngModel.$modelValue
检索它
(一般来说,在使用Angular时,最好摆脱从DOM读取数据的习惯——DOM是范围数据的副作用表示;不需要指令“从输入字段读取数据”,因为输入字段首先是使用指令中已有的数据填充的!)初始化指令时,是否要在指令中获取numero的值?@Pramod\u Para是的,我需要此值,但在指令中检查验证以分配错误|正确class@Pramod_Para我想做一些非常通用的事情,我可以在任何控制器中重用它不想总是获取变量“number”的值您是否尝试在指令中设置属性并获取值?这就是我需要的,获取“value”字段的属性初始化指令时,是否要在指令中获取numero的值?@Pramod_Para是的,我需要此值,但在指令中检查验证以分配错误| correctclass@Pramod_Para我想做一些非常通用的事情,我可以在任何控制器中重用它我不想总是获取变量“number”的值。您是否尝试在指令中设置属性并获取值?这就是我需要的,获取“value”属性,但ngModel的结果。$modelValue为NaN..jsfiddle.net/0tsvue0LYou正在尝试在数据到达指令之前访问该数据。请将该警报包装为$timeout
(强制它等待下一个$digest
)您将看到正确的值:谢谢,伙计,但是ngModel的结果。$modelValue是NaN..jsfiddle.net/0tsvue0lyo您正试图在到达指令之前访问数据。将该警报包装在$timeout
(强制它等待下一个$digest
)中,您将看到正确的值: