【问题标题】:Failed: Template parse errors: Can't bind to 'visible' since it isn't a known property of 'p-dialog'失败:模板解析错误:无法绑定到“可见”,因为它不是“p-dialog”的已知属性
【发布时间】:2018-07-27 00:52:02
【问题描述】:
我使用了 PrimeNG p-dialog。运行程序时它工作正常。但是,当我尝试使用“ng Test”(Karma)测试程序时。我收到了这个错误:
失败:模板解析错误:
无法绑定到“可见”,因为它不是“p-dialog”的已知属性。
1. 如果 'p-dialog' 是一个 Angular 组件并且它有 'visible' 输入,那么验证它是这个模块的一部分。
2. 如果“p-dialog”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以禁止显示此消息。
3. 要允许任何属性,请将“NO_ERRORS_SCHEMA”添加到该组件的“@NgModule.schemas”。 ("....
似乎是什么原因?
【问题讨论】:
标签:
angular-cli
karma-jasmine
primeng
【解决方案1】:
您必须告诉 Angular 您正在使用自定义/第 3 方组件。
为此,请添加以下内容:
schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]
到您的beforeEach 组件测试部分。
完整的beforeEach 将如下所示:
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [YourComponentDeclaration],
schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]
}).compileComponents();
fixture = TestBed.createComponent(YourComponentDeclaration);
component = fixture.componentInstance;
fixture.detectChanges();
}));