【问题标题】:Warning message when showing a value attached from controller in AngularJS在 AngularJS 中显示从控制器附加的值时出现警告消息
【发布时间】:2018-03-14 17:51:07
【问题描述】:

在控制器中,我向控制器添加一个(数字)值:

this.myValue = Number(elem.toFixed(2));

我把它放在一个输入表单中:

    <input class="my-input"
           type="number"
           value={{$ctrl.myValue}}
        ...
   >

值是正确的,一切都按预期显示在屏幕上,但我在控制台中收到此警告消息:

指定的值“{{$ctrl.myValue}}”不是有效数字。这 值必须匹配以下正则表达式: -?(\d+|\d+.\d+|.\d+)([eE][-+]?\d+)?

有什么办法可以摆脱它吗?

【问题讨论】:

  • 您的输入字段甚至不需要value 属性,将其更改为ng-model="$ctrl.myValue"
  • 这可能发生在您的值尚未初始化时,因此它是null 或undefined

标签: javascript angularjs


【解决方案1】:

使用

$scope.myValue = 0;

在控制器中初始化变量。然后将其用作-

<input type="text" ng-model="myValue" >

然后您可以使用 $scope.myValue 在控制器中的任何位置访问它。

【讨论】:

    【解决方案2】:

    根据Aleksey Solovey 的建议,如果将value 更改为ng-model 并将大括号替换为引号,则警告消息会在这种情况下消失。

        <input class="my-input"
               type="number"
               ng-model="$ctrl.myValue"
            ...
       >
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      • 2015-06-23
      • 2017-03-31
      • 2018-10-21
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多