Angularjs 在选择中使用ng选项或ng重复?

Angularjs 在选择中使用ng选项或ng重复?,angularjs,Angularjs,我想在angularjs中使用select。 我有一个json,每个元素都有两部分:名称和值。我想在下拉列表中显示名称,当用户选择其中一个主题时,值是复制到ng模型 为此,我有两种选择方法: ng选项: 我使用如下ng选项: <select ng-model="model.test" ng-options="element.name for element in list"></select> $scope.model.test = {name:"element1",v

我想在angularjs中使用select。 我有一个json,每个元素都有两部分:名称和值。我想在下拉列表中显示名称,当用户选择其中一个主题时,值是复制到ng模型

为此,我有两种选择方法:

ng选项: 我使用如下ng选项:

<select ng-model="model.test" ng-options="element.name for element in list"></select>
$scope.model.test = {name:"element1",value:1}
我可以用角度控制器解决这个问题,但我想找到一个更好的方法来解决这个问题

为了解决这个问题,我使用第二种方法:

2.在选项中使用ng repeat:

我使用下面的代码,但它们都向模型返回字符串值

<option ng-repeat="element in list" value={{element.value}}>{{element.name}}</option>
<option ng-repeat="element in list" value="{{element.value}}|number:0">{{element.name}}</option>
<option ng-repeat="element in list" value={{element.value}}|number:0>{{element.name}}</option>
如何解决这个问题

您是否尝试过以下方法:

 <select ng-model="model.test" ng-options="element.value element.name for element in list"></select>
顺便说一句,如果您的列表中可能有数百条记录,那么您应该创建自己的指令,在该指令中,您可以使用一个简单的javascript for循环来操作DOM

ng repeat渲染速度较慢, ng选项将每条记录添加到$watch中。

您是否尝试过以下方法:

 <select ng-model="model.test" ng-options="element.value element.name for element in list"></select>
顺便说一句,如果您的列表中可能有数百条记录,那么您应该创建自己的指令,在该指令中,您可以使用一个简单的javascript for循环来操作DOM

ng repeat渲染速度较慢,
ng选项将每条记录添加到$watch中。

您也可以使用ng选项解决它

      ng-options="element.value as element.name for element in list"
请阅读了解更多有关ng选项的信息


ng选项的另一个优点是,如果您想将所选对象附加到ng模型,它会绑定对象而不是json字符串。

您也可以使用ng选项解决它

      ng-options="element.value as element.name for element in list"
请阅读了解更多有关ng选项的信息


ng选项的另一个优点是,如果您想将所选对象附加到ng模型,它将绑定对象而不是json字符串。

ng options=element.value as element.name for element in listOptions=element.value as element.name for element in listwith 1.3如果您不想将每个记录添加到$watch like in::listwith 1.3,您可以控制不想将每个记录都添加到$watch,如::列表中
      ng-options="element.value as element.name for element in list"