加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular2:* ngIf的一次绑定是否可用?

发布时间:2020-12-17 06:59:23 所属栏目:安全 来源:网络整理
导读:我正在创建一个DOM结构,并且只想在第一时间在某些可视组件中添加一些部分,并且不希望它们一次又一次地刷新,这就是* ngIf的工作方式.这是为了避免绑定一次又一次地执行我知道一旦创建就永远不会改变的事情.换句话说,Angular1有::运算符帮助实现这一点. Angula
我正在创建一个DOM结构,并且只想在第一时间在某些可视组件中添加一些部分,并且不希望它们一次又一次地刷新,这就是* ngIf的工作方式.这是为了避免绑定一次又一次地执行我知道一旦创建就永远不会改变的事情.换句话说,Angular1有::运算符帮助实现这一点.

Angular2中是否有* ngIf的一次性绑定?如果在其他问题中讨论过,请指出我的问题.

解决方法

您可以创建自己的结构指令,它将在初始页面加载时评估传递的表达式,并根据传递的条件值显示或不在DOM中显示模板,如下所示:

import { Directive,Input,TemplateRef,ViewContainerRef } from '@angular/core';

@Directive({ selector: '[customNgIf]' })
export class CustomNgIfDirective {

    @Input("customNgIf") condition: boolean;

    constructor(
        private templateRef: TemplateRef<any>,private viewContainer: ViewContainerRef) {
    }

    ngOnInit() {
        if (condition) {
            this.viewContainer.createEmbeddedView(this.templateRef);
        } else {
            this.viewContainer.clear();
        }
    }
}

你会像这样使用它:

<div *customNgIf="expression">
    Test
</div>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读