AngularJS使用HTML select标记选择整数值

AngularJS select integer value with HTML select tag

本文关键字:选择 整数 使用 HTML select AngularJS      更新时间:2023-10-15

我是AngularJS的新手。我有一个非常简单的任务:使用HTML<select>标记选择一个带angular的整数值。

<select ng-model="foo.bar">
    <option ng-repeat="option in options" value="{{option}}">{{option}}</option>
</select>

CCD_ 2保持一个整数值。当我运行上面的代码时,第一个生成的选项是:<option value="? number:32 ?"></option>。我发现所选的值被解释为字符串。我想要一个整数。

我已经找到了一些可能的解决方案,但它们要么很复杂(比如实现convert-to-number-函数的文档示例),要么它们的options数组看起来不同(我的只是一个简单的整数数组)。

不应该使用option标签和ng-repeat,而应该使用angulars ng-options指令,如下所示:

<select ng-model="foo.bar" ng-options="option for option in options"></select>

如果options是一个整数数组,那么ng-model也应该包含一个整数。

选择将为您提供一个字符串。您必须将该字符串转换为控制器代码中的数字。

foo.bar = parseInt(foo.bar);

您可能需要使用手表来查找foo.bar变量中的更改,然后将其解析为integer。

看看https://docs.angularjs.org/api/ng/type/$rootScope.Scope并搜索$watch。

如果您希望它是控制器中的整数,则选择下拉列表将始终为您提供字符串值

控制器-

var numValue = Number(foo.bar);