【发布时间】:2020-06-05 17:39:53
【问题描述】:
我正在使用ng-material-multilevel-menu 插件来创建多级下拉菜单。我正在关注this 文章,但遇到运行时错误
无法绑定到“配置” 因为它不是“ng-material-multilevel-menu”的已知属性。 1. 如果 'configuration' 是 Angular 指令,则将 'CommonModule' 添加到该组件的 '@NgModule.imports' 中。 2. 要允许任何属性添加“NO_ERRORS_SCHEMA”到该组件的“@NgModule.schemas”。
无法绑定到“项目”,因为它不是 'ng-material-multilevel-menu'。 1. 如果 'items' 是 Angular 指令,则将 'CommonModule' 添加到该组件的 '@NgModule.imports' 中。 2. 要允许任何属性添加“NO_ERRORS_SCHEMA”到该组件的“@NgModule.schemas”。
'ng-material-multilevel-menu' 不是已知元素: 1. 如果 'ng-material-multilevel-menu' 是一个 Angular 组件,那么验证它是这个模块的一部分。 2. 如果“ng-material-multilevel-menu”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”中 禁止显示此消息。
这是我在.html 文件中的代码
<div>
<ng-material-multilevel-menu [configuration]='config' [items]='appitems' (selectedItem)="selectedItem($event)">
</ng-material-multilevel-menu>
</div>
这是我在.ts 文件中的代码
import { Component, OnInit, NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { NgMaterialMultilevelMenuModule } from 'ng-material-multilevel-menu';
import { AppComponent } from '../app.component';
@Component({
selector: 'app-products',
templateUrl: './products.component.html',
styleUrls: ['./products.component.css']
})
@NgModule({
declarations: [
],
imports: [
BrowserModule,
NgMaterialMultilevelMenuModule // Import here
],
providers: [],
bootstrap: [AppComponent]
})
export class ProductsComponent implements OnInit {
constructor(private employeeService: ProductService) {
}
ngOnInit() {
var appitems = [
{
label: 'Item 1 (with Font awesome icon)',
faIcon: 'fab fa-500px',
items: [
{
label: 'Item 1.1',
link: '/item-1-1',
faIcon: 'fab fa-accusoft'
},
{
label: 'Item 1.2',
faIcon: 'fab fa-accessible-icon',
items: [
{
label: 'Item 1.2.1',
link: '/item-1-2-1',
faIcon: 'fas fa-allergies'
},
{
label: 'Item 1.2.2',
faIcon: 'fas fa-ambulance',
items: [
{
label: 'Item 1.2.2.1',
link: 'item-1-2-2-1',
faIcon: 'fas fa-anchor'
}
]
}
]
}
]
},
];
});
}
我该如何解决这个问题?
【问题讨论】:
-
@Component 之后的组件和@NgModule 之后的模块在哪里?检查 Angular 文档如何了解模块和组件的基本知识 - 我认为这是问题所在。
-
@andriishupta
@Component之后我应该写什么。 -
组件类;在模块 - 模块类之后。 @Component 是一个装饰器。
-
@Component 和@NgModule 是类的注解,你不想用@NgModule 来注解你的ProductsComponent。必须有一个单独的模块类(或应用程序模块)在其中添加导入。在大多数情况下,错误“无法绑定”意味着:没有找到具有给定选择器的组件:
标签: html angular typescript angular-material