Angular5/Karma“选择器”不是已知元素

沙莱克斯

我的组件有一个小问题。在我的浏览器中一切正常,没有任何错误,但 Karma 调试器会抛出一些错误,就我想要的一切而言,我想修复它。

错误:

Failed: Template parse errors:
'dj-menu' is not a known element:
1. If 'dj-menu' is an Angular component, then verify that it is part of this module.
2. If 'dj-menu' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.

<dj-menu>选择器被用在app.component.html

menu.component.ts

import {Component, OnInit} from '@angular/core';

@Component({
    selector: 'dj-menu',
    template: `<nav>
                        <button mat-button routerLink="/login" routerLinkActive="active">Login</button>
                        <button mat-button routerLink="/register" routerLinkActive="active">Register</button>
                        <button mat-button routerLink="/profile" routerLinkActive="active">Profile</button>
                        <button mat-button routerLink="/radio">Radio</button>
                   </nav>
`,
    styleUrls: ['./menu.component.scss']
})
export class MenuComponent implements OnInit {
    {...} // only an empty constructor and ngOnInit()
}

我有一个MenuComponent宣布declarations@NgModuleapp.module.ts

正如我所说,它在浏览器中运行良好,但在 Karma 调试器中运行良好。到目前为止,我尝试了一些关于类似错误的答案(例如,如果 '<selector>' 是一个 Angular 组件,则验证它是否是该模块的一部分)但没有任何效果。

我感谢任何帮助,谢谢。

nerding_it

您需要存根子组件,当您正在测试父组件,比如我有两个组成部分之一app,另一个是dj-menu那么我应该嘲笑dj-menuapp使用代码类似下面的测试

@Component({
selector: 'dj-menu',
  template: '<h1> Some test </h1>'
})

class DjMenuComponentStub{
}

我的应用程序组件看起来像这样(使用dj-menu

@Component({
selector: 'app',
  template: '<dj-menu></dj-menu>'
})

class AppComponent{
}

在测试应用程序组件时,angular 不知道dj-menu您必须通过声明来告诉 angular 使用存根组件

TestBed.configureTestingModule({
      declarations: [ DjMenuComponentStub ]
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

组件选择器不是已知元素

来自分类Dev

通过CSS选择器选择两个已知元素之间的所有元素

来自分类Dev

组件不是已知元素[Angular]

来自分类Dev

Jasmine & Karma:在测试 Angular 时,“mat-chip-list”不是已知元素

来自分类Dev

查找包含已知选择器的<tr>

来自分类Dev

Angular 5 - 具有操作 HTML 元素的属性的组件选择器标签

来自分类Dev

使用CSS3 not选择器仅选择不是特定元素的子元素的元素

来自分类Dev

CSS不是选择器

来自分类Dev

CSS不是选择器:选择除元素内部的所有元素

来自分类Dev

Angular 10-NewComponent不是已知元素

来自分类Dev

删除 Angular 5 中的选择器标签

来自分类Dev

使用:gt()选择器从元素集合中选择最后5个元素

来自分类Dev

没有已知的选择器'initWith ...'的类方法

来自分类Dev

将tinymce编辑器添加到元素对象而不是选择器

来自分类Dev

元素的Javascript选择器/非CSS选择器

来自分类Dev

:not()选择器未选择元素

来自分类Dev

尝试在$(this)选择器中选择元素

来自分类Dev

:not()选择器未选择元素

来自分类Dev

为什么会出现此错误:无法绑定到“纬度”,因为在 Angular 4 中添加选择器标签时它不是“sebm-google-map”的已知属性?

来自分类Dev

如何为JQuery选择器选择属于类而不是类的所有元素的特定HTML元素

来自分类Dev

CasperJS:在click事件中而不是选择器中引用DOM元素

来自分类Dev

将变量用于元素选择器时,“ getContext不是函数”

来自分类Dev

CSS或jQuery选择器以匹配不是其他元素后代的所有后代

来自分类Dev

使用CSS选择器获取符合mutilple的元素:不是“ conditions”

来自分类Dev

jQuery-在选择器而不是attr中获取元素的data属性的值

来自分类Dev

Angular 7,组件选择器+ html选择器

来自分类Dev

不是带占位符的选择器

来自分类Dev

什么是合适的选择器:不是$(this)

来自分类Dev

CSS不是选择器问题

Related 相关文章

  1. 1

    组件选择器不是已知元素

  2. 2

    通过CSS选择器选择两个已知元素之间的所有元素

  3. 3

    组件不是已知元素[Angular]

  4. 4

    Jasmine & Karma:在测试 Angular 时,“mat-chip-list”不是已知元素

  5. 5

    查找包含已知选择器的<tr>

  6. 6

    Angular 5 - 具有操作 HTML 元素的属性的组件选择器标签

  7. 7

    使用CSS3 not选择器仅选择不是特定元素的子元素的元素

  8. 8

    CSS不是选择器

  9. 9

    CSS不是选择器:选择除元素内部的所有元素

  10. 10

    Angular 10-NewComponent不是已知元素

  11. 11

    删除 Angular 5 中的选择器标签

  12. 12

    使用:gt()选择器从元素集合中选择最后5个元素

  13. 13

    没有已知的选择器'initWith ...'的类方法

  14. 14

    将tinymce编辑器添加到元素对象而不是选择器

  15. 15

    元素的Javascript选择器/非CSS选择器

  16. 16

    :not()选择器未选择元素

  17. 17

    尝试在$(this)选择器中选择元素

  18. 18

    :not()选择器未选择元素

  19. 19

    为什么会出现此错误:无法绑定到“纬度”,因为在 Angular 4 中添加选择器标签时它不是“sebm-google-map”的已知属性?

  20. 20

    如何为JQuery选择器选择属于类而不是类的所有元素的特定HTML元素

  21. 21

    CasperJS:在click事件中而不是选择器中引用DOM元素

  22. 22

    将变量用于元素选择器时,“ getContext不是函数”

  23. 23

    CSS或jQuery选择器以匹配不是其他元素后代的所有后代

  24. 24

    使用CSS选择器获取符合mutilple的元素:不是“ conditions”

  25. 25

    jQuery-在选择器而不是attr中获取元素的data属性的值

  26. 26

    Angular 7,组件选择器+ html选择器

  27. 27

    不是带占位符的选择器

  28. 28

    什么是合适的选择器:不是$(this)

  29. 29

    CSS不是选择器问题

热门标签

归档