Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 在ionic 4中将侧菜单创建为组件_Angular_Angular Components_Ionic4_Angular Module - Fatal编程技术网

Angular 在ionic 4中将侧菜单创建为组件

Angular 在ionic 4中将侧菜单创建为组件,angular,angular-components,ionic4,angular-module,Angular,Angular Components,Ionic4,Angular Module,我使用爱奥尼亚启动我的应用程序侧菜单创建了我的爱奥尼亚4应用程序 现在我只希望侧菜单成为一个组件。 所以我创造了: /src/app/menu/menu.component.ts: @组件({ 选择器:“应用程序菜单”, templateUrl:'./menu.component.html', }) 导出类MenuComponent实现OnInit{ //[…]从原始生成的app.component.ts复制的代码 } /src/app/menu/menu.component.html以

我使用
爱奥尼亚启动我的应用程序侧菜单创建了我的爱奥尼亚4应用程序

现在我只希望侧菜单成为一个组件。

所以我创造了:

  • /src/app/menu/menu.component.ts
@组件({
选择器:“应用程序菜单”,
templateUrl:'./menu.component.html',
})
导出类MenuComponent实现OnInit{
//[…]从原始生成的app.component.ts复制的代码
}
  • /src/app/menu/menu.component.html
    以及原始生成的
    app.component.html
  • /src/app/menu/menu.module.ts
@NgModule({
进口:[
公共模块,
离子模块,
路由模块
],
声明:[MenuComponent],
导出:[菜单组件]
})
导出类MenuComponentModule{}
  • 修改的
    /src/app/app.module.ts
@NgModule({
声明:[AppComponent],
EntryComponent:[MenuComponent],
进口:[
浏览器模块,
IonicModule.forRoot(),
批准模块,
菜单组件模块
],
//[…]提供程序和引导程序与原始程序相同
})
导出类AppModule{}
  • /src/app/app.component.html
    修改为仅此文件:

但没有显示任何内容,控制台中出现此错误,我不知道原因:

Error: Template parse errors:
'app-menu' is not a known element:
1. If 'app-menu' is an Angular component, then verify that it is part of this module.
2. If 'app-menu' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
  <ion-split-pane>
    <ion-menu>
      [ERROR ->]<app-menu></app-menu>
    </ion-menu>
    <ion-router-outlet main></ion-router-outlet>
"): ng:///AppModule/AppComponent.html@3:6
错误:模板分析错误:
“应用程序菜单”不是已知元素:
1.如果“应用程序菜单”是一个角度组件,则确认它是该模块的一部分。
2.如果“应用程序菜单”是Web组件,则将“自定义元素\u架构”添加到此组件的“@NgModule.schemas”以抑制此消息。("
[错误->]
“”:ng:///AppModule/AppComponent。html@3:6

请将contentId和id添加到元素中,如下所示:

<ion-app>
  <ion-split-pane contentId="menu-content">
    <ion-menu contentId="menu-content" side="end">
      <app-menu></app-menu>
    </ion-menu>
    <ion-router-outlet id="menu-content"></ion-router-outlet>
  </ion-split-pane>
</ion-app>

以下是菜单组件:

<ion-header>
  <ion-toolbar>
    <ion-title>Menu</ion-title>
  </ion-toolbar>
</ion-header>
<ion-content>
  <ion-list>
    <ion-menu-toggle auto-hide="false">
      <ion-item>Menu Item</ion-item>
    </ion-menu-toggle>
  </ion-list>
</ion-content>

菜单
菜单项
并在需要的页面上添加菜单:

....
<ion-buttons slot="end">
  <ion-menu-button></ion-menu-button>
</ion-buttons>
....
。。。。
....

希望这对您有所帮助

您应该在module.ts文件中添加
模式:[CUSTOM\u ELEMENTS\u SCHEMA],
,也可以查看本文在ionic 4中创建一个侧菜单