angular - angular2 reaktivní formulář | Nezachycená chyba typu: Nelze nastavit vlastnost stack objektu [object Object], který má pouze getter
Snažím se implementovat reaktivní formulář v Angular2, ale při načítání komponenty dostávám chybu za běhu.
Nezachycená TypeError: Nelze nastavit vlastnost stack objektu [object Object], který má pouze getter
Tato chyba není úplně jasná, takže mám problém zjistit, co se děje. Sleduji článek na Angular University. Myslel jsem si, že možná došlo k zásadním změnám, takže jsem zkontroloval changelog Angular 2, ale nic jsem nenašel, co by souviselo s mým problémem s reaktivními formuláři.
Každá pomoc by zde byla oceněna. Budu pokračovat v hledání řešení.
addevent.component.ts
@Component({
selector: 'addevent',
templateUrl: 'addevent.component.html',
styleUrls: ['addevent.scss']
})
export class AddEvent {
// vars
private _addEventForm:FormGroup;
private _eventTitle:FormControl;
private _eventDescription:FormControl;
constructor(private _addEventService:AddEventService,
private _formBuilder:FormBuilder) {
// init vars
this. _eventTitle = new FormControl('', Validators.required);
this._eventDescription = new FormControl('', Validators.required);
this._addEventForm = _formBuilder.group({
'eventTitle': this._eventTitle,
'eventDescription': this._eventDescription
});
}
private addEvent():void {
console.log(this._addEventForm);
//this._addEventService.addEvent();
}
}
addevent.component.html
<div class="h3 content-title">Add Event</div>
<form [formGroup]="_addEventForm" (ngSubmit)="addEvent()">
<p>
<label>Title</label>
<input type="text" formControlName="eventTitle">
</p>
<p>
<label>Description</label>
<input type="text" formControlName="eventDescription">
</p>
<p>
<button type="submit" [disabled]="_addEventForm.invalid">Submit</button>
</p>
</form>
dashboard.module.ts
@NgModule({
declarations: [Dashboard, Navbar, Sidebar, Home, Profile, Events, AddEvent],
imports: [BrowserModule, FormsModule, ReactiveFormsModule, HttpModule],
providers: [ContentSwap, SidebarActivity, AuthService, FirebaseAuthService]
})
export class DashboardModule {}
Odpověď č. 1
Někdy dostávám stejnou chybu. Vypadá to jako chyba v nejnovější verzi zonejs/angular. Abyste zjistili svou skutečnou chybu, nastavte si breakpoint na zásobník, odkud je tato chyba vyvolána. Skutečná chyba bude vstupní argument funkce, u které dojde k pádu.
Pokud potřebujete více informací https://github.com/angular/zone.js/issues/427
Odpověď č. 2
Sledováním vlákna ohledně problému na angular/zone.js mě jeden komentář nasměroval k tomu, jak se dostat k opravdové chybě.
uncaught TypeError: Cannot create property 'configurable' on string 'Error: No provider for AddEventService!Jen mi chyběl poskytovatel pro novou službu, kterou jsem vytvořil.