Невозможно выполнить привязку к ngModel, поскольку это неизвестное свойство input. test .spec.ts

Меня привязали к другому билету. Эта ошибка возникает ТОЛЬКО при тестировании, и я импортировал FormsModule для каждого связанного сообщения. Я использую Angular 2.2.1.

ngModel не определен в ng test. Я импортировал FormsModule и ReactiveFormsModule, но это не дало результата. Я исследую это в течение 24 часов, и я не приблизился. Большинство из них связано с обновлением, я стер и перезапустил с той же проблемой, шаблон тестирования довольно простой при создании с помощью ng generate.

Я использовал angular cli для создания своего приложения (и перестроил его ...), и я добавил импорт форм, поскольку это кажется важным.

Вот мой простой шаблон, обратите внимание, что это была не форма, а div, и это не имеет значения. ng serve выглядит разумно, так что код теоретически правильный.

Вот моя форма ...

<form class="form-horizontal">
  <div class="form-group">
    <label class="col-sm-2 control-label" for='line1'>Address 1</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" placeholder="Line 1" id='line1' [(ngModel)]='address.line1' required>
    </div>
  </div>
  <div class="form-group">
    <label for="inputPassword" class="col-sm-2 control-label" for='line2'>Address 2</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" id="line2" placeholder="Line 2" [(ngModel)]='address.line2'>
    </div>
  </div>
  <div class="form-inline">
    <div class="form-group">
      <label for="inputPassword" class="col-sm-2 control-label" for='Suburb'>Suburb</label>
      <div class="col-sm-6">
        <input type="text" class="form-control" id="suburb" placeholder="Suburb" [(ngModel)]='address.suburb'>
      </div>
      <div class="col-sm-2">
        <input type="text" class="form-control" id="State" placeholder="State" [(ngModel)]='address.state'>
      </div>
      <div class="col-sm-2">
        <input type="text" class="form-control" id="postcode" placeholder="Postcode" [(ngModel)]='address.postcode'>
      </div>
    </div>
  </div>
</form>

вот моя тестовая спецификация, я добавил CommonModule и ReactiveFormsModule и FormsBuilder после долгих исследований, без радости.

    /* tslint:disable:no-unused-variable */

import { TestBed, async } from '@angular/core/testing';
import { CommonModule } from '@angular/common';
import { FormsModule, ReactiveFormsModule, FormBuilder } from '@angular/forms';


import { AddressComponent } from './address.component';
import { Address } from './address';

describe('Component: Address', () => {
  beforeEach(() => {
    TestBed.configureTestingModule({
      declarations: [AddressComponent],
      imports: [CommonModule, ReactiveFormsModule],
      providers: [FormBuilder]
    });
  });

  it('should create an instance', () => {
    let component = new AddressComponent();
    expect(component).toBeTruthy();
  });

  it('should handle address', () => {
    expect(true).toBeTruthy();
  });

});

Это моя составляющая. Довольно просто ...

import { Input, Component, OnInit } from '@angular/core';
import { Address } from './address';

@Component({
  selector: 'app-address',
  templateUrl: './address.component.html',
  styleUrls: ['./address.component.css'],
})

export class AddressComponent implements OnInit {

  @Input() address: Address;

  constructor() { }

  ngOnInit() {
  }

}

Я получаю следующую ошибку:

"): AddressComponent@4:78
Can't bind to 'ngModel' since it isn't a known property of 'input'. ("iv class="col-sm-10">
      <input type="text" class="form-control" id="line2" placeholder="Line 2" [ERROR ->][(ngModel)]='address.line2'>

person KenF    schedule 01.12.2016    source источник
comment
Я не использую rc5. Я использую недавно созданное приложение с использованием angular cli. Он работает с ng serve. Только тестовая проблема   -  person KenF    schedule 02.12.2016
comment
stackoverflow.com/questions/40373099/   -  person Günter Zöchbauer    schedule 02.12.2016


Ответы (1)


Также добавьте FormsModule

imports: [CommonModule, ReactiveFormsModule, FormsModule],
person Günter Zöchbauer    schedule 02.12.2016