【发布时间】:2017-12-01 16:51:10
【问题描述】:
我在 Angular 1.6 中遇到了一个特殊问题,相同的代码 在 Angular 1.2 上运行良好,当我们尝试分配由 ng-repeat 创建的下拉列表的选定值时使用数字不会被选中,但会分配模型值。
查看下面的示例,我已为 $scope.selectedOne = 1; 分配了编号和
$scope.selectedTwo = "1"; 带有字符串,第一个下拉菜单没有被选中,而第二个下拉菜单被选中。我对两个下拉菜单都使用相同的项目。同一段代码在 Angular 1.2 中运行良好(两种情况都选择)。
谁能解释一下这两个版本的区别
var app = angular.module('app', []);
app.controller('homeCtrl', ['$scope', function($scope) {
$scope.selectedOne = 1;
$scope.selectedTwo = "1";
$scope.items = [{
name: 'harry111',
id: 1
},
{
name: 'rimmi',
id: 2
}
];
}]);
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
<html>
<head>
</head>
<body ng-app="app">
<div ng-controller="homeCtrl">
<select ng-model="selectedOne">
<option ng-repeat="item in items" value="{{item.id}}">
{{item.name}}
</option>
</select>
<div>
selectedOne :{{selectedOne}}
</div>
<select ng-model="selectedTwo">
<option ng-repeat="item in items" value="{{item.id}}">
{{item.name}}
</option>
</select>
<div>
selectedOne :{{selectedOne}}
</div>
</div>
</body>
</html>
在回答 stackoverflow.com/questions/44799901/... 这个问题后,我遇到了这个问题,它在 Angular 1.2 中运行良好(两种情况都选择)。
【问题讨论】:
-
你应该看看 NgOptions 而不是在选项标签上使用 NgRepeat
-
在回答 stackoverflow.com/questions/44799901/… 这个问题后,我遇到了这个问题,它在 Angular 1.2 上运行良好
标签: javascript angularjs angularjs-ng-repeat