angular - 将 ng-template 放在 *ngFor 中会影响性能吗?
问题描述
让我们假设以下 ItemComponent 被创建了很多次:
<li *ngFor="let item of items">
<app-item [data]="item"></app-item>
</li>
并包含单击时显示一些复杂模式对话框的按钮。
当我将对话框的一些 ng 模板放置在 ItemComponent 内部或 *ngFor 外部时,它是否会影响应用程序的性能(例如启动时间或内存占用)?
我的意思是,我知道模板在调用对话框之前不会被实例化,但我不确定模板本身是每个组件创建一次,还是每个实例创建一次?
解决方案
当我将对话框的一些 ng 模板放置在 ItemComponent 内部或 *ngFor 外部时,它是否会影响应用程序的性能(例如启动时间或内存占用)?
<ng-template>
是将要创建的组件。该组件从它的内部 DOM 元素创建一个模板引用,并且这些 DOM 元素不会在页面上呈现。对于item
在ngFor
. ngTemplate有一个当前上下文和一个注入的上下文。的值item
将在当前上下文中出现,ngFor
并且在使用时必须在上下文对象中提供ngTemplateOutlet
。
ngTemplate
在ngFor
使用. _ item
_ngTemplateOutlet
这是一个有助于更好地解释事情的教程。
https://blog.angular-university.io/angular-ng-template-ng-container-ngtemplateoutlet/
推荐阅读
- java - 将较大的数字向右移动,将较小的数字向左移动给定值
- mysql - IBM Watson Assistant:如何从 AWS MySQL 表中读取数据并根据数据确定对话(是或否)?
- php - 还有其他方法可以正确计算 Am 和 Pm 的时间吗?
- javascript - HTTP 请求 POST AJAX(JS) 提交表单
- json - 循环 API Json 响应时的 ColdFusion GC 开销限制
- c++ - 从 ReadProcessMemory(c++) 显示数据到 NodeJS/Electron 覆盖
- php - 有没有办法通过laravel php中的created_at来计算一周中的每一天
- sql - SQL 跨表查询以识别特定属性的聚合值
- ijvm - 需要帮助使用 iJVM 中的方法创建乘数
- rest - Authenticate users on certain handle requests