knu*_*hol 9 javascript angularjs ng-options
我正在使用AngularJS版本1.4.7并且具有包含对象数组的简单AngularJS控制器.我想在select by中将这些对象显示为选项ngOptions.
问题是每个对象都是重复的,我不知道为什么.此副本仅在选择中显示,源对象看起来很好.
angular
.module('demo', [])
.controller('DemoCtrl', DemoCtrl);
function DemoCtrl() {
var vm = this;
vm.demoOptions = [
{value: 1, label: 'Demo 1'},
{value: 2, label: 'Demo 2'},
{value: 3, label: 'Demo 3'}
];
vm.selected = null;;
}Run Code Online (Sandbox Code Playgroud)
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular.min.js"></script>
<div ng-app="demo" ng-controller="DemoCtrl as vm">
<select ng-options="item as item.label for item in vm.demoOptions track by item.value" ng-model="vm.selected">
<option value="" selected ng-if="vm.selected === null">-- select --</option>
</select>
<p ng-if="vm.selected !== null">Selected item: <code>{{vm.selected}}</code></p>
<p ng-if="vm.selected === null">No item is selected.</p>
<pre>vm.demoOptions == {{vm.demoOptions|json}}</pre>
</div>Run Code Online (Sandbox Code Playgroud)
这是一个错误吗?如何在不使用过滤器的情况下删除重复项?
注意:此问题的更新AngularJS从版本发生后1.3.19到1.4.7.我阅读了更改日志,但它只说明了添加track by- 我添加了它但没有效果.
这是 1.4.8 之前的 1.4.x 的一个已知错误,您可以检查问题。
如果你必须使用 angularjs 1.4.7 版本那么你可以ng-show使用ng-if
您可以从angularjs github找到变更日志和错误
| 归档时间: |
|
| 查看次数: |
1586 次 |
| 最近记录: |