首页 文章

角度调用组件从一个模块到另一个模块

提问于
浏览
-1

我有两个模块gridusers模块和用户模块 . 网格模块将列出数据表中的所有用户,当我点击动作项目编辑它将打开一个弹出窗口来编辑用户 . 使用编辑用户,我正在尝试在用户模块中创建一个组件 . 当我尝试在gridusers模块中使用该编辑用户组件时,我收到一个错误:

模板解析错误和未捕获(在承诺中):错误:模板解析错误:'app-edit-user'不是已知元素:如果'app-edit-user'是Angular组件,则验证它是否属于这个模块 . 如果'app-edit-user'是Web组件,则将'CUSTOM_ELEMENTS_SCHEMA'添加到此组件的'@NgModule.schemas'以禁止显示此消息 .

对此有何帮助?

gridmodule
  -- gridmodule.ts
  -- gridcomponent.ts
  -- gridcomponent.html
  -- gridcomponent.scss

usermodule
  -- usermodule.ts
  -- usercomponent.ts
  -- usercomponent.html
  -- editusercomponent.ts
  -- editusercomponent.html
  -- usercomponent.scss
  -- editusercomponent.scss

editusercomponent.ts

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

@Component({
  selector: 'app-edit-user',
  templateUrl: './editusercomponent.html',
  styleUrls: ['./editusercomponent.scss']
})
export class editusercomponent{
  title = 'edit user';
}

gridmodule.ts

@NgModule({
    declarations: [
        editusercomponent
    ],
    imports: [
        .-----
    ],
})

2 回答

  • 0

    使用 @ngModule's exports数组 . 默认情况下, declarations 数组中定义的每个元素都是私有的 . 您应该只导出应用程序中其他模块执行其工作所需的任何内容 .

    usermodule.ts

    import { CommonModule } from '@angular/common';
        @NgModule({
           imports:[CommonModule],
            declarations: [
                editusercomponent
            ],
           exports:[ editusercomponent]
        })
    

    gridmodule.ts
    Gridsodule的 imports 数组中的Regsiter usermodule

    import { UserModule } from '../user-module/user.module';
        @NgModule({
          imports: [
            BrowserModule,
           UserModule
          ],
          declarations: [],
          bootstrap: []
        })
    
  • 0

    如果您希望其他模块使用您的组件,则必须将其导出到模块中

    试试这个

    @NgModule({
        declarations: [
            editusercomponent
        ],
        imports: [
            .-----
        ],
        exports: [editusercomponent]
    })
    

相关问题