Angularjs使用ng-options选择默认值

angularjs select default value using ng-options

本文关键字:默认值 选择 ng-options 使用 Angularjs      更新时间:2023-09-26

第一个问题

当我的数据不是数组时,我如何使用ng-option设置默认值?很简单,如果条目是数组,我只需输入

select = $scope.items[0];

这里是演示

第二问题:

  <select ng-model="selected" ng-options="name for (name, value) in items"></select>

我其实不知道这是怎么回事^

在我的控制器中,我有这样的键值对象

 $scope.items = {
    'one': 30,
    'two': 27,
    'three': 50,
    'four': 15,
    'five': 27,
    'six': 30
   };

当对象中的值是基本类型时(就像你的情况一样),angular会按值而不是按引用进行比较。所以:

$scope.selected = 30;

或:

$scope.selected = $scope.items['one'];

如果值是非原始的,那么我建议使用"track by"来跟踪对象相等以外的东西。

解决方案

问题1:

如果$scope.items不是array而是object

select = $scope.items.one; // to select first

select = $scope.items['one']; // to select first

问题2:

在你的代码

 <select ng-model="selected" ng-options="name for (name, value) in items"></select>

JS

$scope.secleted = $scope.items['one']

(name, value) in items将返回一个名称和值的数组(key value对数组)。您可以将values映射到name