Angular 6.0.3 HTML 组件选择器不起作用

Posted

技术标签:

【中文标题】Angular 6.0.3 HTML 组件选择器不起作用【英文标题】:Angular 6.0.3 HTML Component selector not working 【发布时间】:2018-11-27 03:42:44 【问题描述】:

角度组件的 html 选择器未呈现。 这是模块路由文件。

const routes: Routes = [
     
          path: 'lms',
          canActivate: [AuthGuard],     
          component: LibraryHomeComponent,
          children: [
                path: 'book/list', component: BookListComponent 
          ]
     
];

@NgModule(
     imports : [          
          RouterModule.forChild(routes)
     ],
     providers: [
          AuthGuard
     ],
     exports: [ RouterModule ]
)
export class BookRouteModule 

之后,我定义了模块。该模块是系统的一个子模块

@NgModule(
     imports: [
          BookRouteModule,
          MatImportModule
     ],
     declarations: [
          BookListComponent,
          LibraryNavbarComponent, /* <== declared here */
          LibraryHomeComponent          
     ]
)
export class BookModule 

在Library Home Component模板文件中,导航栏组件是使用html标签初始化的。

<mat-sidenav-container class="all-content">
  <app-library-navbar></app-library-navbar>
  <mat-sidenav-content>
    <router-outlet></router-outlet>
  </mat-sidenav-content>
</mat-sidenav-container>

下面是库导航栏组件。

@Component(
  selector: 'app-library-navbar',
  templateUrl: './library-navbar.component.html',
  styleUrls: ['./library-navbar.component.css']
)
export class LibraryNavbarComponent implements OnInit 

【问题讨论】:

你检查控制台,是否有任何错误? 是的。控制台没有显示任何错误。 mat-sidenav-container 正在渲染? 是的。我刚刚将 sidebar 移动到另一个组件。 【参考方案1】:

问题是由于 Angular Material SideNav 结构损坏造成的。与 HTML 表格一样,您似乎无法将 Angular Material 组件的结构分解为不同的组件。当我将 &lt;mat-sidenav mode="side" opened&gt; 移动到 Home 组件时,它可以工作。

<mat-sidenav-container class="all-content">
  <mat-sidenav mode="side" opened>
    <app-library-navbar></app-library-navbar>
  </mat-sidenav>
  <mat-sidenav-content>
    <router-outlet></router-outlet>
  </mat-sidenav-content>
</mat-sidenav-container>

【讨论】:

重启应用即可。 “ng serve” 用于 cli,它可以工作。

以上是关于Angular 6.0.3 HTML 组件选择器不起作用的主要内容,如果未能解决你的问题,请参考以下文章

React Emotion Styled Component:类选择器不起作用

如何在 Angular 1.5 中使用 HTML 选择调用父组件

Ant 设计日期和时间选择器不通过 Formik 传递值(反应)

移除 Angular 组件创建的宿主 HTML 元素选择器

为啥html页面里jQuery选择器不起作用

为啥这个引导日期选择器不显示日期选择器?