importProvidersFrom(Angular 17 独立组件中的[CommonModule]

问题描述 投票:0回答:3

export const appConfig: ApplicationConfig = {
  providers: [
    importProvidersFrom(
      [
        CommonModule
      ]
    )
  ]

为什么在独立组件中不能像这样在app.config.ts中输入CommonModule???是否应该将其导入到组件本身中?

enter image description here

Angular 17个独立组件,导入问题CommonModule

angular angular17
3个回答
1
投票

standalone 是自包含的并声明自己的依赖项,它们使用组件装饰器中的 import 属性直接导入它们依赖的其他独立组件、指令和管道。

如果您希望使用 ngIf 等通用指令,您应该直接在组件的导入数组中导入 CommonModule。

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

@Component({
  selector: 'my-component',
  standalone: true,
  imports: [CommonModule], 
  templateUrl: './my-component.component.html',
  styleUrls: ['./my-component.component.css']
})
export class MyComponent {
  
}

0
投票

总体来说:

  • BrowserModule
    用于根
    NgModule
    CommonModule
    用于功能
    NgModule
  • 您可以使用其独立部分,例如
    CommonModule
    NgIf
    等,而不是
    NgFor

很多答案都可以在网上获得:

  1. https://angular.io/guide/frequent-ngmodules
  2. https://angular.io/guide/feature-modules
  3. 如何在独立组件appoach中为root导入CommonModule?
  4. 角度中的 CommonModule 与 BrowserModule
  5. https://github.com/angular/angular.io/issues/2166

0
投票

模块不是提供者;相反,它们充当组织和配置应用程序功能的容器。

© www.soinside.com 2019 - 2024. All rights reserved.