javascript – 为什么ng-options指令需要ng-model

标记

<div ng-app>
  <div ng-controller="myCtrl">
    <select ng-options="i for i in [1,2,3]"></select>
  </div>
</div>

使用此标记,选项中不会填充选项.当我提供ng-model和ng-options时,它按预期工作.

为什么ng-options需要ng-model来填充选项?

最佳答案 ngOptions需要模型以确定默认情况下应选择哪个选项或选择更改时写入所选对象/值的模型.

如果没有ngModel指令,则很难访问所选值,并且当人们查询DOM以确定值或为此目的编写自己的指令时,它可能会导致错误练习代码.在这两种情况下,这都不理想,因为这类事物是Angular表单元素指令的关键思想.

另外不要忘记ngOptions与ngModel一起允许开发人员将整个对象绑定为select元素的“值”,如果没有ngModel,这将是棘手的.

最后,如果出于某种原因,人们不希望在选择上有任何模型(尽管没有意义),可以使用ngRepeat渲染选项.

点赞