【精】ng-template的深入浅出

本文详细介绍了Angular中ng-template的使用,包括其作为动态组件模板的应用,如何通过ngIf和ngTemplateOutlet控制显示,以及如何传递参数和在类中使用模板变量。案例展示了模板变量、动态创建和变量注入等技巧,是Angular初学者掌握模板操作的好帮手。
摘要由CSDN通过智能技术生成

说明

本文旨在帮助初学者更好的理解angular中模版的使用方法。

内容

概念解析

ng-template 指令代表一个 Angular 模板:这意味着该标签的内容将包含模板的一部分,然后可以将其与其他模板组合在一起以形成最终的组件模板。

应用场景

我们经常在动态组件中使用到模版,比如一个弹出框,弹出框里的内容是不同的,但是框体的外部是一样的,比如头部,关闭按钮,确定和取消按钮等。

案例分析

1 模版包裹的内容默认是不显示的,一般通过ngIf去判断是否渲染出来
在这里插入图片描述
在这里插入图片描述
2 模版变量的使用,我们可以在模版上,通过#的方式,定义一个模版变量,这个模版变量可以在html中去使用。如下所示,下面有一个微语法*ngIf="myname =='xiaoming' else loading"
意思就是,定义的变量myname等于xiaoming时,就显示ng-container里的内容,否则就显示模版loading中的内容
在这里插入图片描述
在这里插入图片描述
3 模版的动态创建。我们写了一个模版,可以指定模版在哪里进行显示
在这里插入图片描述
这里呢,需要给大家解释下,首先,<ng-template #loading>loading....{{context}}++++{{context1}}</ng-template>这段代码定义了一个模版,模版名称叫loading,里面显示的内容是loading....{{context}}++++{{context1}}其中context和context1是两个变量。下面的代码,这句<ng-template [ngTemplateOutlet]="loading" [ngOutletContext]="context"></ng-template>意思就是上面定义的loading模版,在我这展示,通过ngTemplateOutlet实现的,然后传context参数进去。下面的div标签里是另一种写法,效果是一样的。

4 输入变量的使用,就是我们如何向模版中传入变量参数。在3小节中,我们可以通过[ngOutletContext]的形式传参到模版中。我们也可以通过通过let-xxx= “property” 表达式去定义context局部变量的key 然后再在内部调用。如下
在这里插入图片描述
也就是通过let-xxx去自定义传过来属性的名称

5 模版变量在类中的使用;就是我们定义的模版变量,如何在我们的代码中去使用,我们可以通过viewChild去完成。
在这里插入图片描述
这样我们就拿到了这个变量了

总结

ng-template的简单用法大概如此了。更多比较深入的用法,就会涉及到指令的学习了。指令是用来优化dom元素的。等具体用到时,在进行补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李卓书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值