uks*_*ksz 3 select angularjs ng-options
我的选择表单存在问题.当我选择任何选项时,传递的值是字符串类型,而不是数字类型.这是我用于ng-repeat的对象:
$scope.apples ={
0:'Apple0',
1:'Apple1',
2:'Apple2',
3:'Apple3'
};
Run Code Online (Sandbox Code Playgroud)
这是我的选择,它传递字符串,而不是数字:
<select ng-model="test" ng-options="key as value for (key,value) in apples"></select>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
每次迭代对象字段时,IMO都存在设计问题.使用数组:
$scope.apples = [
{
id: 0,
name: 'Apple0'
},
{
id: 1,
name: 'Apple1'
},
...
];
Run Code Online (Sandbox Code Playgroud)
并在视图中:
ng-options="apple.id as apple.name for apple in apples"
Run Code Online (Sandbox Code Playgroud)
非常简单的方法是将字符串实际转换为数字(注意,+运算符):
ng-options="+key as value for (key,value) in apples"
Run Code Online (Sandbox Code Playgroud)
也可以使用数组作为数据结构:
$scope.apples = [
'Apple0',
'Apple1',
'Apple2',
'Apple3'
];
Run Code Online (Sandbox Code Playgroud)
进而
ng-options="apples.indexOf(apple) as apple for apple in apples"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5538 次 |
| 最近记录: |