Angular / 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


person Edunno    schedule 09.12.2020    source источник
comment
У меня был небольшой прогресс в том смысле, что если я загружаю модуль с помощью app.module.ts 'import', я вижу, что код выполняется, но он не активируется при запуске компонента.   -  person Edunno    schedule 09.12.2020


Ответы (3)


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

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

 // ...

 imports: [CommonModule, BrowserModule, //...
person Akif    schedule 09.12.2020
comment
Спасибо за ответ. Я пробовал, хотя думаю, что он уже импортирован в мой app.module.ts (возможно, мне следовало упомянуть об этом), но это не повлияло: / - я почти уверен, что код никогда не входит в мой файл select.module.ts :( - person Edunno; 09.12.2020
comment
Однако, когда я попробовал, возникла странная ошибка: не удалось объявить BrowserModule в NgModule, поскольку он не является частью текущей компиляции. - person Edunno; 09.12.2020

Вам необходимо импортировать 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
    ...
    ...
person Kien Nguyen    schedule 09.12.2020
comment
К сожалению, он уже импортирован в app.module.ts - person Edunno; 09.12.2020

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

person Edunno    schedule 09.12.2020