在 Angular 中,何时需要使用 NO_ERRORS_SCHEMA 和 CUSTOM_ELEMENTS_SCHEMA?
它们是什么意思?它们是用于配置CSS样式吗?
TestBed
时,你需要导入或声明你的组件的所有依赖项。NO_ERRORS_SCHEMA
的情况。它将忽略所有错误,说它不知道子组件<some-child>...</some-child>
。但请记住,使用NO_ERRORS_SCHEMA
不是一个好习惯。作为替代方案,你可以创建自己的组件模拟或使用这个ng-mocks库,它非常有用。
CUSTOM_ELEMENTS_SCHEMA
则较不宽容。CUSTOM_ELEMENT_SCHEMA
而不是根本不提供schema
... - Adam Hughes查看 https://angular.io/api/core/NO_ERRORS_SCHEMA => 定义了一个模式,允许在任何元素上使用任何属性。
而 https://angular.io/api/core/CUSTOM_ELEMENTS_SCHEMA => 定义了一个模式,允许 NgModule 包含以下内容: 以破折号命名法(-)命名的非 Angular 元素。 以破折号命名法(-)命名的元素属性。 破折号命名法是自定义元素的命名约定。
因此,NO_ERRORS_SCHEMA 不太严格,但模板中的任何未知内容都将被接受。