angular - 无法绑定到“consoleMessages”,因为它不是“app-console”的已知属性
问题描述
单元测试角度应用程序时收到以下错误消息
无法绑定到“consoleMessages”,因为它不是“app-console”的已知属性。
- 如果“app-console”是一个 Angular 组件并且它有“consoleMessages”输入,那么验证它是这个模块的一部分。
- 如果“app-console”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以禁止显示此消息。
- 要允许任何属性,请将“NO_ERRORS_SCHEMA”添加到此组件的“@NgModule.schemas”。("
<br>
<app-console [ERROR ->][consoleMessages]="consoleMessages"></app-console>
</div>"): ng:///DynamicTestModule/EntitlementCreateComponent.html@135:15
'app-console' is not a known element:
TestBed.configureTestingModule({
imports:[HttpClientTestingModule,RouterTestingModule,FormsModule,ReactiveFormsModule],
declarations: [EntitlementCreateComponent,NGXSpinner],
//schemas: [ NO_ERRORS_SCHEMA] //Note schemas is commenented
})
解决方案
您收到错误的原因是因为您正在引用自定义元素的consoleMessages
属性。app-console
并且角度编译器找不到该属性。
CUSTOM_ELEMENTS_SCHEMA
定义了一个模式,其中包含非角度的自定义元素。因此,通过添加该模式,您是在告诉 Angular 忽略对该元素的类型检查。这可能不是你想要的。
我的猜测是正在发生的几件事之一:
consoleMessages
属性未定义为AppConsole
类的公共属性。- 您尚未
AppConsole
在测试工具中正确配置。您是测试工具中的模块吗?
推荐阅读
- android - 检查蓝牙适配器是否连接到可穿戴设备
- python - selenium.common.exceptions.WebDriverException:消息:尝试通过 Selenium 使用 Edge 和 MicrosoftWebDriver.exe 时出现未知错误
- python - 通过Python中的正则表达式优化在两个列表之间查找匹配子字符串
- powershell - “Select -skip”不会跳过第一行
- javascript - NGRX:创建多个reducer 响应的“全局”操作的正确方法是什么?
- c# - WPF:使用 MVVM 的 SelectAll \ UnSelectAll
- mysql - MySQL使用while循环插入多行函数
- opencv - 使用opencv进行外在矩阵计算
- r - 如何在get函数中定义一个序列?
- typo3 - TYPO3 v9:如何查询额外的外部数据库(MSSQL)