使用angularjs中的属性指令获取未定义的指令范围值

时间:2019-04-02 10:26:32

标签: angularjs angularjs-directive

为angularjs指令中声明的范围变量获取未定义。 下面的代码有什么问题?

<input type="text" class="form-control" id="amount"
 name="amount" ng-model="amount" required ng-pattern="Pattern"
 min="25" max="{{availableAmount}}" input-range-check/>

脚本

app.directive('inputRangeCheck', function () {
    return {
        restrict: 'A',
        require: 'ngModel',
        scope: {
            min: '@',
            max: '@'
        },
        link: function (scope, element, attributes, ngModel) {          
            ngModel.$validators.minError = function (modelValue) {
                console.log("--------------------------",min)
                return modelValue < min;
            };
            ngModel.$validators.maxError = function (modelValue) {
                return modelValue > max;
            };          
            scope.$watch(attributes.ngModel, function(value) {
                ngModel.$validate();
            });
        }
    };
});

在链接函数中获取未定义的最小值和最大值?

1 个答案:

答案 0 :(得分:0)

最小和最大值在范围对象中可用。

此功能将使您理解。

  link: function (scope, element, attributes, ngModel) {          
        ngModel.$validators.minError = function (modelValue) {
            console.log("--------------------------",scope.min)
            return modelValue < scope.min;
        };
        ngModel.$validators.maxError = function (modelValue) {
            return modelValue > scope.max;
        };          
        scope.$watch(attributes.ngModel, function(value) {
            ngModel.$validate();
        });
    }