所以我使用html,css和Angular.js在网页上工作,我想根据用户在下拉列表中选择的内容显示页面。当用户选择他/她的选择时,“过滤器”可以很好地工作,但最初在页面加载时我无法显示整个页面内容,而是显示空白页面。
这是我的代码片段:
<select ng-model="selectedOption" ng-options="data.id as data.name for data in myData.categories"></select>
<div class="main" >
<ul id="cbp-ntaccordion" class="cbp-ntaccordion" ng-repeat="data in myData.profiles" ng-show="selectedOption == data.category" >
<li class="cbp-ntopen">
<h3 class="cbp-nttrigger">{{data.name}}</h3>
<div class="cbp-ntcontent">
我收到的错误如下:
angular.js:13708错误:[ngRepeat:dupes] errors.angularjs.org/1.5.7/ngRepeat/dupes?
答案 0 :(得分:0)
你可以使用ng-value =“defalutvalue”,这样你的代码就是那样的
<select ng-model="selectedOption" ng-value="defalutvalue" ng-options="data.id as data.name for data in myData.categories"></select>
<div class="main" >
<ul id="cbp-ntaccordion" class="cbp-ntaccordion" ng-repeat="data in myData.profiles" ng-show="selectedOption == data.category" >
<li class="cbp-ntopen">
<h3 class="cbp-nttrigger">{{data.name}}</h3>
<div class="cbp-ntcontent">
答案 1 :(得分:0)
根据您提到的错误,我认为您没有给Angular一个方法来弄清楚如何将您的对象记录为唯一。在track by
。{/ p>中使用ng-repeat
表达式
因此,ng-repeat
将变为:ng-repeat="data in myData.profiles track by $index"
请参阅ngRepeat文档的Tracking and Duplicates部分。
<ul id="cbp-ntaccordion" class="cbp-ntaccordion" ng-repeat="data in myData.profiles track by $index" ng-show="selectedOption == data.category">