如何通过angularjs中的指令将最小和最大属性添加到输入元素

时间:2019-02-20 14:33:03

标签: angularjs using-directives

我有一个需求,我需要从服务获取最小值和最大值并动态更新输入元素的最小值和最大值。

我正在尝试通过名为“ avi-form-range”的自定义指令来实现它

下面的代码将带有期望值的新属性min&max添加到输入元素。但是最小和最大验证都没有发生

例如;最小值= 1最大值= 3600 如果我输入的值大于3600,则应该输入错误 这没有发生 非常感谢您的帮助

这是我的代码

angular.module('aviApp').directive('aviFormRange', function() {

    'use strict';

    class FormRangeController {
        constructor($scope, $compile, schemaService) {
            this.$scope = $scope;
            this.$compile = $compile;
            this.schemaService = schemaService;
        }

        $onInit() {
          console.log('inside init');
          this.ranges = this.schemaService.getFieldRange(this.objectType, this.fieldName);
          console.log('ranges----', this.ranges);
        }
    }

    FormRangeController.$inject = ['$scope', '$compile', 'schemaService'];

    return {
        bindToController: {
            fieldName: '@',
            objectType: '@'
        },
        restrict: 'A',
        priority: 1000000,
        controller: FormRangeController,

          link: function(scope, element, attributes, ngCtrl) {
                attributes.$set('min', ngCtrl.ranges.min);
            }


        };

    });

0 个答案:

没有答案