javascript - 使用 *ngIf 作为切换以 Angular 2 显示 div 内容

标签 javascript jquery html angular

我有一个包含下拉框的 div,默认情况下下拉框为空,并且仅在用户从 View 页面中删除项目时填充。我希望这个 div 的下拉列表在列表为空时不可见,并在列表至少有 1 项时显示。

<div class="btn-group bootstrap-select show-tick">
   <button type="button" class="btn dropdown-toggle bs-placeholder btn-default" (click)="toggleSelect()">
       <span class="pull-left">List Items</span>&nbsp;
       <span class="bs-caret ">
           <span class="caret "></span>
       </span>
   </button>
        <ul class="dropdown-menu multi-select-popup " [ngStyle]="{display:isOpen ? 'block' : 'none'} " style="display:block; ">
            <li *ngFor="let item of dropdownlist; let i = index ">
                <a (click)="select(item, i) " class="dropdown-item ">
                    <i class="fa fa-fw " [ngClass]="{ 'fa-check': item.checked, 'glyphicon-none': !item.checked} "></i>
                    <span [innerHtml]="item.title "></span>
                </a>
            </li>
        </ul>
    </div>

我如何使用 *ngIf 来实现此功能,以根据下拉列表中项目的长度切换 div 的显示。

最佳答案

使用 safe navigation operator 的组合和*ngIf:

<ul *ngIf="dropdownlist?.length > 0" ... >

这将访问 dropdownlistlength 属性(如果已定义),并且如果 length 则满足条件> 0.

使用安全访问器可以让您不必链接 dropdownlist && dropdownlist.length,因为如果 dropdownlist未定义,它不会抛出异常.

关于javascript - 使用 *ngIf 作为切换以 Angular 2 显示 div 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43100233/

相关文章:

javascript - 如何显示文件上传的文件名

javascript 未捕获 TypeError : ")". find 不是用于在页面刷新时保存选项卡选择的函数

javascript - 如何在 Sails.js 中嵌入和编写 mongo 对象(不止一层深)?

javascript - 在 slider 事件状态上设置状态不是函数错误

jquery - 如何使用 emberJS 创建登录表单?

javascript - 如何让我的箭头文本留在 fullpage.js 上的正确位置?

Javascript 命名空间

html - 如何将复选框放在div的底部?

javascript - 通过 Javascript 统计 window.localStorage.getItem

javascript - 如何从 ref 获取 ref key 然后按该键搜索并从该 ref 获取数据