用途:面向 Angular 组件开发,提供 Angular 21(2025)下组件架构与 @Component 装饰器相关的最佳实践,标签为 Components、@Component、Architecture。
主要能力与用法要点:
- 创建独立组件:使用 @Component({ standalone: true, selector: 'app-my', imports: [CommonModule], template:
<p>Content</p>}) 定义组件类。 - 输入使用信号:data = input<string>('')、required = input.required<User>(),并可配合 computed(() => this.data()?.name) 派生值。
- 输出用于事件:data = output<string>(),通过 this.data.emit('event') 触发。
- 模板引用变量:在模板中用 #nameInput,并在按钮点击时调用 onSubmit(nameInput.value)。
- 内容投影:通过 <ng-content select="[header]"></ng-content> 与默认 <ng-content></ng-content> 组合插槽。
- 变更检测策略:设置 changeDetection: ChangeDetectionStrategy.OnPush 优化渲染。
- 封装:使用 encapsulation: ViewEncapsulation.None(或 Emulated、ShadowDom)控制样式作用域。
- 宿主绑定:在 host 中配置 '[class.active]': 'isActive' 与 '(click)': 'onClick()'。
适用场景:Angular 项目中需要设计、拆分或重构组件,涉及输入输出、插槽、变更检测与样式封装时参考。
限制:资料仅给出上述实践与代码结构,未提供安装命令、版本兼容细节、性能数据、收费或平台信息,如有需要请以官方文档为准。