当前位置: 首页 > 知识库问答 >
问题:

角要求指令打破我自己的一个

平航
2023-03-14

我有一个自定义指令,在输入中的ng-model上的过滤器之后,将输入限制为数字:

     .directive('onlydigitinput', function () {
    return {
        require: 'ngModel',
        link: function (scope, element, attrs, modelCtrl) {
            modelCtrl.$parsers.push(function (inputValue) {
                var transformedInput = inputValue.toLowerCase().replace(/ /g, '')
                  .replace(/[^0-9]+/g, '');
                if (transformedInput != inputValue) {
                    modelCtrl.$setViewValue(transformedInput);
                    modelCtrl.$render();
                }
                return transformedInput;
            });
        }
    };
})
input(type='text' , required, onlydigitinput,  min='1', max='99', maxlength='2')
TypeError: Cannot read property 'toLowerCase' of undefined
at http://localhost:3000/scripts/core/directives/systemDirectives.js:63:54

共有1个答案

毕魁
2023-03-14

输入字段上有一个必需的字段验证器。因此,当您将字段设置为空白(“”)时-发生在您键入非数字时。该值变为未定义。

var transformedInput = inputValue.toLowerCase().replace(/ /g, '')
              .replace(/[^0-9]+/g, '');
            if (transformedInput != inputValue) {
                modelCtrl.$setViewValue(transformedInput);
                modelCtrl.$render();
            }

在上述代码的顶部添加以下内容:

if(!inputValue) return ;
 类似资料:
  • 问题内容: 我创建了下面的角度指令, ChildDirective ,在 ParentDirective中使用 这正常工作,并且出现了几个子指令。 我想更新 ParentDirective ,以从服务器获取 childDirective 的列表。因此,我更新了 ParentDirective 代码以进行Ajax调用,然后绘制 ChildDirectives 问题是, childDirectives

  • 问题内容: 我想在flask应用程序中发送本地REST请求,如下所示: 发送curl -X POST http://localhost:5000/john/hi导致整个烧瓶应用程序冻结。当我发送一个终止信号时,我得到一个坏的管道错误。有什么办法可以防止flask冻结? 问题答案: 在能够处理并发请求(可能是gunicorn或uWSGI)的适当WSGI服务器下运行flask应用程序,它将起作用。在开

  • 问题内容: 我尝试“要求”一个父控制器(不是指令),但是AngularJS返回一个异常。代码是这样的: HTML 错误 错误:找不到指令’myDirective’所需的[$ compile:ctreq]控制器’myController’! 为什么? 也许,属性必须引用 指令 的控制器? 谢谢 问题答案: 要求在另一个指令中使用其他指令控制器,请参考以下示例

  • 人们是否通常构造自己的树类(带有节点等),因为Java中没有内置的树(有TreeSet和TreeMap,但没有Tree)。创建自己的树类是常见的吗?还是只有在编程面试中才会这样做?

  • 问题内容: require- 要求将另一个控制器传递给当前的指令链接功能。require会传入指令控制器的名称。如果找不到此类控制器,则会引发错误。该名称可以带有以下前缀: ?-不要提出错误。这使得require依赖关系是可选的。 ^-还要在父元素上查找控制器。 以上是官方文档的定义。这里的歧义恰恰是“指令控制器”。 以angularjs-ui引导项目中的tabs指令为例。 该指令有,其中,是它的