typescript 属性ngIf不是由嵌入模板上的任何适用指令提供的

hyrbngr7  于 2023-06-24  发布在  TypeScript
关注(0)|答案(1)|浏览(220)

我的组件中不断出现此错误
Property ngIf is not provided by any applicable directive on an embedded template
我尝试了在这个论坛上找到的其他解决方案,例如导入CommonModules
但仍然得到错误。
我在ngTemplateOutlet上也得到了同样的错误
编辑:
我在这里使用它:
app.component.html

<div class="content" role="main" *ngIf="<expressionHere>">

app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { CommonModule } from '@angular/common';
import { AppComponent } from './app.component';
import {RouterOutlet} from "@angular/router";

@NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    BrowserModule,
    RouterOutlet,   
    CommonModule,    
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

app.component.ts

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

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'TestApp';
}
ukqbszuj

ukqbszuj1#

为什么你有RouterOutlet进口?导入数组是用于模块的。Router-outlet在HTML中的用法如下。

<router-outlet></router-outlet>

您不想导入RouterModule吗?

imports: [
    BrowserModule,
    RouterModule.forRoot(routes)   
    CommonModule,    
  ],

并定义你的路线

const routes: Routes = [
  // { path: '', component: HomeComponent },
  // { path: 'path2', component: Component2 },
  // other routes...
];

btw:如果问题仍然存在,你能提供你在 *ngIf中的“表达式”吗?

相关问题