我有这样的选择:
<select class="form-control" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos"></select>
如果我没有ng-hide
选项,我会尝试隐藏选择:
<select class="form-control" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos " ng-hide="item.Catalogos == 0"></select>
或ng-show
为:
<select class="form-control" ng-show="Catalogos" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>
但是没有人工作,它仍然出现,任何人都可以帮助我吗?
注意:我发现了一个问题,如果我使用chrome或firefox选择debbug 获取默认选项:
<option value="?" selected="selected"></option>
可以跳过这个吗?
答案 0 :(得分:1)
您的ng-hide
应该使用item.Catalogos.length
:
ng-hide="item.Catalogos.length == 0"
或
ng-hide="!item.Catalogos"
答案 1 :(得分:0)
您应该检查目录的长度
<select class="form-control" ng-show="Catalogos.length>0" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>
或者您需要将其转换为布尔值
<select class="form-control" ng-show="!!Catalogos" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>
ng-hide
可以遵循相同的过程<select class="form-control" ng-hide="Catalogos.length==0" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>
或者
<select class="form-control" ng-hide="!Catalogos" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>