我正在尝试实现angular2反应形式,但在加载组件时出现运行时错误
Uncaught TypeError: Cannot set property stack of [object Object] which has only a getter
这个错误并不完全清楚,所以我很难搞清楚发生了什么。我跟着angular university article。我想也许有一些重大变化,所以我检查了angular2更改日志,但没有发现任何与我的问题相关的反应形式。
这里有任何帮助。我将继续寻找解决方案。
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 {}
答案 0 :(得分:6)
我有时会遇到同样的错误。看起来像是最新的zonejs / angular中的一个bug。要获得真正的错误,请在堆栈上放置一个断点,从该错误处抛出此错误。你真正的错误将是它崩溃的函数的输入参数。
答案 1 :(得分:1)
在angular / zone.js问题的主题之后,comment指出了我要找到真正错误的方向。
uncaught TypeError: Cannot create property 'configurable' on string 'Error: No provider for AddEventService!
我刚刚错过了我创建的新服务的提供商。
答案 2 :(得分:0)
在我的情况下,有一个chrome扩展引发了错误,在zone.js的故障点设置了一个断点,显示了有问题的扩展。然后,我获取了扩展名ID,并在chrome中禁用了该扩展名,一切都很好。
答案 3 :(得分:0)
当我在使用@ViewChild
库时不小心将两个装饰器放在ngxs
上时,出现了此错误,该库依赖于不变性,例如:
import { Select } from '@ngxs/store';
// @Select(AppLoginAPIState.getAuthenticatedUser) // uncomment to produce the error
@ViewChild('redirectCheckModal')
redirectCheckModal: ModalComponent;