角度 ng 重复与 ng 选项
Angular ng-repeat vs ng-option
我在AngularJS中使用ng-options和ng-repeat来玩下拉菜单。我在这里有两个不同实现的菜单。
两个问题:1)为什么这不起作用,无法按预期选择2)哪种方式更好?
<body ng-controller="appController" class="container-fluid">
<form>
<label for="sizes"> Select size: </label>
<select name= "sizes" id= "sizes" ng-model="sizes">
<option ng-repeat="size in sizes" value="{{size}}"></option>
</select>
<br>
<label for="sizes"> Select size: </label>
<select name = "sizes" id = "sizes" ng-model="sizes" ng-options="item for item in sizes track by item">
<option value="{{size}}"></option>
</select>
</form>
</body>
棱角分明.js
app.controller('appController', function($scope) {
$scope.sizes = ['big', 'medium', 'small'];
}
不确定你在问什么,但我认为你不希望$scope.size成为你的模型。 所以试试这样的事情:
<select ng-model="pickedSize.size" ng-options="size for size in sizes">
<option value="">Pick a size...</option>
</select>
控制器:
app.controller('appController', function($scope) {
//to demonstrate setting a model...can do this various ways.
$scope.pickedSize={};
$scope.pickedSize.size='';
$scope.sizes = ['big', 'medium', 'small'];
}
至于哪个更好 ng-重复或 ng 选项。 根据此处的文档:https://docs.angularjs.org/api/ng/directive/select
"在许多情况下,ngRepeat可以用于元素而不是ngOptions,以获得类似的结果。但是,ngOptions 提供了一些好处,例如在如何通过 select 作为理解表达式的一部分分配 的模型方面具有更大的灵活性,此外,还可以通过不为每个重复实例创建新范围来减少内存并提高速度。
请使用以下更正来查看选择值
<form>
<label for="sizes"> Select size: </label>
<select name= "selectSizes" id= "selectSizes" ng-model="sizes" >
<option ng-repeat="size in sizes" value="{{size}}">**{{size}}**</option>
</select>
<br>
<label for="sizes"> Select size: </label>
<select name = "sizes" id = "sizes" ng-model="sizes" ng-options="item for item in sizes track by item">
<option value="{{size}}">**{{size}}**</option>
</select>
</form>
在 http://plnkr.co/edit/SDNrwpcu6E94VSVv3sWR?p=preview 测试
关于哪个更好,没有这样的性能损失,您可以选择始终保持一致。也许其他一些SO用户可能会提供一些信息。
相关文章:
- 如何使用AngularJs禁用ng选项中的选项
- 如何将ng选项的索引作为angularJs中的值传递给模型
- AngularJS ng选项在选择一个选项后删除了默认的空白值
- 当使用select作为标签时,如何使用ng选项禁用angularjs中的选项
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- ng选项-用vm替换$scope
- Angularjs-设置不带ng选项的select的默认值
- ng选项-传递键而不是值
- Angular:如何使用ng选项进行四个单独的选择
- 使用ng选项,我如何筛选准确解释给定值的内容
- 角度Ng选项错误
- Angular.js通过对象关键点上的ng选项进行跟踪
- 为什么ng选项指令需要ng模型
- Angular js-ng选项不起作用
- 在<选择>使用angular ng选项可能使用ng init
- 如何在 AngularJS 的 ng 选项中设置值属性
- $localStorage array select with ng选项工作不正常
- 筛选ng选项时语法不正确
- Angularjs使用ng选项进行选择
- Angular中独特的ng选项