当前位置: 首页 > 知识库问答 >
问题:

没有将“exportas”设置为“ngform”的指令

宇文修文
2023-03-14

当我尝试测试LoginComponent时,得到以下错误

PhantomJS 2.1.1 (Linux 0.0.0): Executed 3 of 55 (1 FAILED) (0 secs / 0.307 secs)
PhantomJS 2.1.1 (Linux 0.0.0) LoginComponent should create FAILED
Failed: Uncaught (in promise): Error: Template parse errors:
There is no directive with "exportAs" set to "ngForm" ("iv class="col-md-4 col-sm-6 col-md-offset-4 col-sm-offset-3">
          <form (ngSubmit)="login(f)" [ERROR ->]#f="ngForm">
            <div class="card card-login">
              <div class="card-header text-cen"): LoginComponent@5:38

我的组件看起来像的一部分,

export class LoginComponent {

  isBusy: boolean = false;
  user: User;

  constructor(
    private router: Router,
    private notificationService: NotificationService,
    private authService: AuthenticationService,
    private sessionService: SessionService,
  ) { }
  ....
}

login.component.spec.ts

describe('LoginComponent', () => {
  let component: LoginComponent;
  let fixture: ComponentFixture<LoginComponent>;

  beforeEach(async(() => {
    let routerStub = new RouterStub();

    TestBed.configureTestingModule({
      imports: [HttpModule],
      declarations: [,
        LoginComponent
      ],
      providers: [{
        provide: Http, useFactory: (backend, options) => {
          return new Http(backend, options);
        },
        deps: [MockBackend, BaseRequestOptions]
      },
      { provide: Router, useClass: class { navigate = jasmine.createSpy("navigate"); } },
        MockBackend,
        BaseRequestOptions,
        AuthenticationService,
        SessionService,
        NotificationService
      ],
      schemas: [NO_ERRORS_SCHEMA],
    })
    .compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(LoginComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });
});

似乎无法使用上述提供程序、声明等创建假组件。就像其他人所说的,我已经在@ngmodule装饰器中包含了formsmodule

共有1个答案

邬英武
2023-03-14

不确定您将其添加到了什么@ngmodule装饰器中,但我认为应该将其添加到

 TestBed.configureTestingModule({
      imports: [HttpModule, FormsModule],
 类似资料:
  • 我在RC4上,我得到了一个错误,因为我的模板没有将“exportas”设置为“ngform”的指令: boot.ts: ///下面是我的下拉列表:

  • 我正面临着一个令人沮丧的问题 没有将“exportas”设置为“ngform”的指令(“ ]#f=”ngform“(ngSubmit)=”onsubmit(f)“class=”form-hosteral“>”):ng:///componentsmodule/equipeComponent.html@8:12错误:模板解析错误:没有将“exportas”设置为“ngform”(“]#f=”ngfor

  • 我在使用Typescript的Angular2-forms框架时不断地出现这个错误: 这是我的代码 项目依赖项: ...和登录组件: 我有这个错误:

  • 以下是AngularJS项目中的文件。正如一些帖子所建议的,我补充道: 在输入字段中,但仍然得到一个错误。 包裹json change-password.component.html 更改密码。组成部分ts 应用程序。单元ts有进口产品 我得到以下错误: 未处理的Promise拒绝:模板解析错误:没有将exportAs设置为ngModel的指令(当前密码)#当前密码=ngModel id=当前密码

  • 下面是AngularJS项目中的文件。正如在一些帖子中所建议的,我已经补充了: 输入字段中,但仍然得到一个错误。 我得到以下错误: 未处理的promise拒绝:模板分析错误:没有将“exportas”设置为“ngmodel”的指令(“urrent Password]#currentpassword=”ngmodel“id=”currentpassword“name=”currentpassword

  • 我在使用angular 4时遇到了一个问题 没有将“exportas”设置为“ngModel”的指令(“name=”fullname“type=”text“required maxlength=”30“[(ngModel)=”model.fullname“[ERROR->]#fullname=”ngModel“> app.module.ts