javascript - 如果满足条件,使用 ng-if 显示某些内容

标签 javascript html angularjs servicenow angularjs-ng-if

我正在尝试使用 ng-if在满足条件时显示某些行,但似乎不能让它 100% 正确工作。

<div style="margin-bottom: 1em;">

  <h4><!-- content omitted for brevity--></h4>

  <p>
    <strong>Covered:</strong> &nbsp;
    <a ng-href class="pointer" data-ng-repeat="life in data.list2 track by $index" ng-if="life.beneficiary.length > 0" ng-click="c.editBeneficiary(life)">

      <!-- content omitted for brevity-->
    </a>

    <a ng-href class="pointer" ng-if="life.beneficiary.length = 0" ng-click="c.addBeneficiary()">Add Beneficiary&nbsp;<i class="fa fa-plus-circle" style="color: green;"/></a></p>

</div>

在上面的代码中,如果受益人 的数量大于 0 ( ng-if="life.beneficiary.length > 0" ),我想列出名称并允许用户在必要时对其进行编辑。这部分工作正常。但是,如果受益人 的数量等于 0,那么我想要一个显示“添加受益人”的链接,并允许用户这样做。

我把 ng-if <a> 中的陈述标签,我不确定这是否正确。当我以没有受益人的用户身份登录时,“添加受益人”链接不会显示。

  • 我在这里做错了什么?

最佳答案

问题是life.beneficiary.length = 0不是比较,它试图分配 0 (零)值到 life.beneficiary.length (这是错误的)。

此外,在没有受益人的情况下life.beneficiary.length == 0 (这是正确的)可能是假的,因为 life.beneficiary可能是 nullundefined (这取决于你的 Controller 逻辑)......但是,为了解决这个尝试:

改变 ng-if="life.beneficiary.length = 0" ng-if="!life.beneficiary.length" (这相当于 ng-if="life.beneficiary.length == 0" ,但如果 life.beneficiarynullundefined ,它不会在您的逻辑中失败)

<a ng-href class="pointer" ng-if="!life.beneficiary.length" ng-click="c.addBeneficiary()">Add Beneficiary&nbsp;
</a>

此外,建议将两个链接 ( <a> ) 包装在一个元素 ( span , div , ... 如您所愿) 中,该元素将包含 ng-repeat ,像这样:

<p>
<!-- there is content omitted for brevity -->
  <span data-ng-repeat="life in data.list2 track by $index">

    <a class="pointer" ng-if="life.beneficiary.length > 0" ng-click="c.editBeneficiary(life)">

    <!-- content omitted for brevity-->
    </a>

    <a class="pointer" ng-if="!life.beneficiary.length" ng-click="c.addBeneficiary()">Add Beneficiary&nbsp;</a>

  </span>

</p>

关于javascript - 如果满足条件,使用 ng-if 显示某些内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43216454/

相关文章:

javascript - 使 jquery jqxhr 的行为就像已经发送请求一样

php - 输入类型 ="file"更改后是否可以重新加载表单?

html - 顶部和正文 div 标签内的空白

php - 使用 angularjs 使用 where 子句从数据库获取数据

javascript - Angular 砌体中加载的图像顺序每次都会改变

javascript - 如何在 javascript + html 中获取 li 类中的嵌套 div id 值

javascript - 错误 [object BlobConstructor]' 不是 safari 中的构造函数

javascript - 页面重新加载后保持菜单切换状态

css - 导航接管其他 <a href> 标签

javascript - 切换类以选择带 Angular 报价