【发布时间】:2015-10-19 05:26:22
【问题描述】:
为什么使用 ng-options 选择标签可以通过显示默认选择值正常工作,但如果我使用 ng-repeat 则同样无法正常工作。
这里是代码,
<!-- this works-->
<select class="form-control" ng-model="selectValue" ng-options="option.id as option.name for option in availableOptions">
</select>
<!-- this also works-->
<select ng-model="selectValue">
<option ng-repeat="options in availableOptions" value="{{options.id}}" ng-selected="selectValue === options.id">{{options.name}}</option>
</select>
<!-- this doesnt works-->
<select ng-model="selectValue">
<option ng-repeat="options in availableOptions" ng-value="options.id" ng-selected="selectValue === options.id">{{options.name}}</option>
</select>
在 app.js 中,
$scope.selectValue="2";
$scope.availableOptions = [
{id: '1', name: 'Option A'},
{id: '2', name: 'Option B'},
{id: '3', name: 'Option C'}
];
虽然 HTML 显示了 selected 属性,但它仍然没有在视图中正确呈现
这是相同的 plunker link
【问题讨论】:
-
第一种语法是首选的推荐语法;您为什么要尝试使用非首选语法来解决问题?
-
是的,我知道第一种方法是首选,但只是为了学习,我尝试了第二种方法。你能弄清楚为什么它不起作用吗??
标签: html angularjs drop-down-menu angularjs-ng-repeat