【问题标题】:Angular/ABP: Getting modules through component linkAngular/ABP:通过组件链接获取模块
【发布时间】:2020-12-09 08:16:17
【问题描述】:

我试图让我的 Angular 前端在我的 ABP 框架中工作。 作为其中的一部分,我想在我的导航栏中显示一个下拉组件,ABP 慷慨地为其提供了一个功能,您只需在其中添加组件即可。

但是,应该通过我的 select.module.ts 文件来的 *ngFor 函数没有加载(我可以通过调试看到它永远不会到达文件),所以它写道:

Can't bind to 'ngForOf' since it isn't a known property of 'div'.

我检查了语法,这应该不是问题。我想知道是不是因为我需要延迟加载模块,因为链接的组件可能没有用它的模块实例化,或者是否有办法通过组件的链接来加载它。

组件添加位置的图像:

下拉组件的图片:

我的模块图片:

或者我的模块写错了,或者只是没能理解 Angular 的基本原理? BrowserModule 在 app.module.ts 中导入

【问题讨论】:

  • 我有轻微的进步,如果我用 app.module.ts 'imports' 加载模块,我可以看到代码已经运行,但它没有被激活然后运行该组件。

标签: angular ngfor abp


【解决方案1】:

您也可以尝试导入BrowserModule

 import { BrowserModule } from '@angular/platform-browser'
 import { CommonModule } from "@angular/common";

 // ...

 imports: [CommonModule, BrowserModule, //...

【讨论】:

  • 感谢您的回答。我试过了,虽然我认为它已经导入到我的 app.module.ts 中(也许我应该提到这一点),但它没有效果:/ - 我很确定代码永远不会进入我的 select.module.ts 文件:(
  • 我尝试时出现了一个奇怪的错误:无法在 NgModule 中声明“BrowserModule”,因为它不是当前编译的一部分。
【解决方案2】:

您需要在应用程序的主模块中导入BrowserModule,并在子模块中导入CommonModule

app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

...
...

@NgModule({
    imports: [
        BrowserModule,
        ....
        ....

select.module.ts

...
...
import { CommonModule } from '@angular/common';

@NgModule({
  imports: [
    CommonModule
    ...
    ...

【讨论】:

  • 遗憾的是它已经被导入到 app.module.ts
【解决方案3】:

在我将我的模块添加到 app.module.ts 并完全(不仅仅是热加载)重新加载我的构建之后,它现在可以工作了。

【讨论】:

    猜你喜欢
    • 2018-06-09
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    • 2018-05-14
    • 1970-01-01
    相关资源
    最近更新 更多