Angular / ABP: получение модулей через компонентную ссылку

#angular #ngfor #abp

#angular #ngfor #abp

Вопрос:

Я пытаюсь заставить свой интерфейс работать в Angular, в моей среде ABP. В рамках этого я хочу отобразить выпадающий компонент на панели навигации, для которого ABP любезно предоставил функцию, для которой вы просто добавляете компонент.

Однако функция *ngFor, которая должна поступать через мой файл select.module.ts, не загружается (я вижу, что при отладке она никогда не достигает файла), поэтому она пишет:

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

Я проверил синтаксис, и это не должно быть проблемой. Мне интересно, связано ли это с тем, что мне нужно лениво загружать модуль, поскольку связанный компонент может не создаваться с его модулем, или если есть способ загрузить его с помощью связывания компонента.

Изображение того, где добавляется компонент:

введите описание изображения здесь

Изображение выпадающего компонента:

введите описание изображения здесь

Изображение моего модуля:

введите описание изображения здесь

Или, возможно, я неправильно написал свой модуль или просто не смог понять основной принцип Angular? BrowserModule импортируется в app.module.ts

Комментарии:

1. У меня был небольшой прогресс в том смысле, что если я загружу модуль с помощью app.module. ts ‘imports’ Я вижу, что код выполняется, но он не активируется при последующем запуске компонента.

Ответ №1:

Вы также можете попробовать импортировать BrowserModule .

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

 // ...

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

Комментарии:

1. Спасибо за ответ. Я пытался, хотя я думаю, что он уже импортирован в мой app.module.ts (возможно, мне следовало упомянуть об этом), но это не имело никакого эффекта:/ — Я почти уверен, что код никогда не попадает в мой файл select.module.ts: (

2. Странная ошибка, когда я попытался: не удается объявить ‘BrowserModule’ в NgModule, поскольку он не является частью текущей компиляции.

Ответ №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
    ...
    ...
 

Комментарии:

1. К сожалению, он уже импортирован в app.module.ts

Ответ №3:

Теперь это работает, после того, как я добавил свой модуль в app.module.ts и полностью (не только с горячей загрузкой) перезагрузил свою сборку.