我有一个这样的选择:
<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 或火狐浏览器 I 进行 debbug 选择 获取默认选项为:
<option value="?" selected="selected"></option>
可以跳过这个吗?
您的ng-hide
应该使用item.Catalogos.length
:
ng-hide="item.Catalogos.length == 0"
或
ng-hide="!item.Catalogos"
你应该检查目录的长度
<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>