Howdie do,
所以我尝试做的就是根据范围变量显示一组选项。
奇怪的是,由于某种原因,即使条件失败,ng-repeat仍在运行。
正在启用的范围变量是$ scope.code
<select id="customer-dd" ng-model="selectedCustomer">
<option value="">select...</option>
<option ng-if="code == 'multiAdmin' || code == 'admin' " ng-repeat="companyCode in companyGroups" value="{{ companyCode }} " >{{ companyCode }}</option>
<option ng-if="code != 'multiAdmin' || code != 'admin' " ng-repeat="company in code" value="{{ company }} " >{{ company }}</option>
</select>
这导致以下错误:
Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: company in code, Duplicate key: string:m, Duplicate value: m
因此,例如,$ scope.code =&#39; multiAdmin&#39;,第一个ng-repeat应该执行它所执行的操作。
但是下一个ng-repeat不应该作为条件代码执行!=&#39; multiAdmin&#39; ||代码!=&#39; admin&#39;
但由于某种原因,基于错误,下一个循环正在执行并循环遍历具有两个&#39; i&#39;在其中并导致错误。
所以我的问题是,当代码==&#39; multiadmin&#39;时,如何确保第二个ng-if / ng-repeat组合不会执行?或者&#39; admin&#39;
*更新*
无论条件如何,似乎ng-repeat都会执行。它只是没有根据条件显示结果。
答案 0 :(得分:1)
您需要按照某些内容进行跟踪,例如<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
:
$index
答案 1 :(得分:0)
您在第二个ng-if
中写错了条件表达式。
确保代码=='multiadmin'或'admin'
时,第二个ng-if / ng-repeat组合不会执行
所以第二个ng-if
应该是:
<option ng-if="code != 'multiAdmin' && code != 'admin' " ng-repeat="company in code" value="{{ company }} " >{{ company }}</option>