Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取指令(ANGULAR.JS)中输入文本的值_Javascript_Angularjs - Fatal编程技术网

Javascript 获取指令(ANGULAR.JS)中输入文本的值

Javascript 获取指令(ANGULAR.JS)中输入文本的值,javascript,angularjs,Javascript,Angularjs,嗨。这是我的密码。我需要获取输入文本的值,但我只能在更改输入文本上的值时获取该值。如何在不需要更改的情况下获取输入文本的值。(最初获取输入文本的值) 我想做一些非常通用的事情,我可以在任何控制器中重用它。有一定数量的字段并对其进行验证,因此我不希望总是得到变量“number”的值 我想在任何控制器上重复使用此指令。我不会总是使用$scope.numero变量。如果不在指令中键入scope.numero,如何获取文本字段的值 var app = angular.module('app', []

嗨。这是我的密码。我需要获取输入文本的值,但我只能在更改输入文本上的值时获取该值。如何在不需要更改的情况下获取输入文本的值。(最初获取输入文本的值)

我想做一些非常通用的事情,我可以在任何控制器中重用它。有一定数量的字段并对其进行验证,因此我不希望总是得到变量“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();
            })


          }
      };
  });
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
)中,您将看到正确的值: