簡體   English   中英

獲取指令中輸入文本的值(ANGULAR.JS)

[英]get the value of input text in a directive (ANGULAR.JS)

http://jsfiddle.net/ccLwj3us/

你好 這是我的代碼。 我需要獲取輸入文本的值,但是當輸入文本上的值更改時,我只能獲取該值。 如何無需更改即可獲取輸入文本的值。(最初獲取輸入文本的值)

我想做一些非常通用的事情,以便可以在任何控制器中重用它。 有一定數量的字段並對其進行驗證,所以我不想總是獲取變量“ 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM