我想执行验证,如果在制作过滤器时没有元素,则隐藏div,否则将显示。这是我的代码:
<!-- show/hide this div depends if exist coincidence on the filter -->
<p class="text-center txt_color_azul_oscuro tip_fuen_roboto_l txt_sm">elements:</p>
<div class="col-12 col-sm-12 col-md-6 col-lg-6" ng-repeat="item in faqs" ng-show="([item] | filter: search).length ">
.
.
.
</div>
<input class="field" type="text" type="text" ng-model="search" required>
答案 0 :(得分:0)
您正在使用ng-show
来限制div
的演示。现在,ng-show
需要一个评估为true
或false
的条件(如果true
,则显示)。当您仅作为参数保留一个值(在您的情况下)时,AngularJS将其视为:如果对象存在则为TRUE,否则为FALSE 。由于数组的长度确实存在(即 0 ),因此评估结果为 TRUE 。
为了得到你想要的东西,你需要记录:
<div class="col-12 col-sm-12 col-md-6 col-lg-6"
ng-repeat="item in faqs"
ng-show="([item] | filter: search).length ">
成为:
<div class="col-12 col-sm-12 col-md-6 col-lg-6"
ng-repeat="item in faqs"
ng-show="([item] | filter: search).length > 0 ">
这如何澄清事情并解决您的问题。