Ng-options 选择值作为 int 而不是字符串

Ng-options selecting value as a int instead of a string

我有一个对象数组

usage: [{label: 'Main', value: '30' },{ label: 'Second', value: '27' },{ label: 'Third', value: '50' }];

这就是我使用 ng-options 的方式

<select class="Input" ng-model="myCtrl.data.usages" ng-options="usage.value as usage.label  for usage in myCtrl.data.usages">

它似乎有效,因为它 select 是正确的值。但是它 select 是一个字符串。有没有办法让它 select / 解析为整数?因此,它会保存为 27

而不是 '27'

你可以为此制作一个filter。这将允许您根据需要解析和操作该值。观察下面的例子...

app.filter('num', function() {
    return function(input) {
        return parseInt(input, 10);
    };
});

<select 
    ng-options="(usage.value | num) as usage.label  for usage in myCtrl.data.usages">
</select>

JSFiddle Link - 演示