Тестовый пример Angular2 не показывает поставщика для NgControl
ng test
показывает приведенную ниже ошибку, но она работает, как и ожидалось в реальности.
Error: Template parse errors:
No provider for NgControl ("
<div class="form-group">
<label class="control-label">Location</label>
[ERROR ->]<select class="selectpicker" *ngIf="locations" data-style="btn btn-primary btn-round" title="Select A"): VehicleFormComponent@27:4
No provider for NgControl (" <div class="form-group label-floating">
<label class="control-label">Is Available</label>
[ERROR ->]<md-slide-toggle [(ngModel)]="isAvailable" color="primary" [ngModelOptions]="{standalone: true}">
"): VehicleFormComponent@41:4 in src/test.ts (line 25739)
Expected undefined to be truthy.
Я думаю, что это в основном из-за добавления [ngModelOptions]="{standalone: true}"
в пользовательском теге.
2 ответа
Решение
Вы добавили ссылку на "FormsModule" в свой модуль TestBed?
import { FormsModule } from '@angular/forms';
TestBed.configureTestingModule({
imports: [ FormsModule ]
})
.compileComponents();
Если кто-нибудь еще придет сюда, может быть, это поможет. Мне не хватало дополнительного декоратора в конструкторе:
constructor(@Optional() @Self() public ngControl: NgControl) {}