Angular React Vue 比较 – 组件篇之异步组件

在大型应用中我们可能需要拆分应用为更小的块,并仅在需要时再从服务器加载相关组件,这个时候我们就用到了异步组件。

Angular 的异步组件

在 Angular v17 之前的版本中并没有异步组件的实现方法,类似的功能被称之为懒加载模块。要使用懒加载模块,需要配合路由使用。Angular 并不是一个渐近式的框架,它拥有一个完整的应用生态,路由的概念暂时不在本系列文章的讨论范围。关于懒加载模块的介绍请参考 惰性加载特性模块 。

在 v17 版本中,Angular 新增一个 可延迟视图 的功能,通过这个功能我们可以轻松实现异步组件的加载。这个功能是使用 @defer 块来实现的,并且它拥有 @placeholder @loading @error 这几个子块。

下面的例子展示了如何异步加载广告条组件。

ad.component.ts 文件

import { Component } from '@angular/core';

@Component({
  selector: 'app-ad',
  template: `
    <h2>异步加载广告条</h2>
    <label>
      <input type="checkbox" [(ngModel)]="showAd" />
      允许显示广告
    </label>
    <div class="ad">
      @defer (when showAd) {
        <app-ad-a></app-ad-a>
      }
    </div>
  `
})
export class
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值