title: angular2 reactive form | Uncaught TypeError: Cannot set property stack of [object Object] which has only a getter
body: <p>I'm trying to implement an angular2 reactive form, but I get a run time error when loading the component </p>
  
  <p><code>Uncaught TypeError: Cannot set property stack of [object Object] which has only a getter</code> </p>
  
  <p>This error isn't exactly clear, so I'm having a hard time figuring out what's going on. I'm following along with an <a href="http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/" rel="noreferrer">angular university article</a>. I thought maybe there were breaking changes, so I checked the angular2 changelog but didn't find anything related to my issue with reactive forms.</p>
  
  <p>Any help would be appreciated here. I'm going to keep poking around for a solution.</p>
  
  <p><strong>addevent.component.ts</strong></p>
  
  <pre class="lang-js prettyprint-override"><code>@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();
    }
  
  }
  </code></pre>
  
  <p><strong>addevent.component.html</strong></p>
  
  <pre class="lang-html prettyprint-override"><code>&lt;div class="h3 content-title"&gt;Add Event&lt;/div&gt;
  
  &lt;form [formGroup]="_addEventForm" (ngSubmit)="addEvent()"&gt;
    &lt;p&gt;
      &lt;label&gt;Title&lt;/label&gt;
      &lt;input type="text" formControlName="eventTitle"&gt;
    &lt;/p&gt;
    &lt;p&gt;
      &lt;label&gt;Description&lt;/label&gt;
      &lt;input type="text" formControlName="eventDescription"&gt;
    &lt;/p&gt;
    &lt;p&gt;
      &lt;button type="submit" [disabled]="_addEventForm.invalid"&gt;Submit&lt;/button&gt;
    &lt;/p&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p><strong>dashboard.module.ts</strong></p>
  
  <pre class="lang-js prettyprint-override"><code>@NgModule({
    declarations: [Dashboard, Navbar, Sidebar, Home, Profile, Events, AddEvent],
    imports: [BrowserModule, FormsModule, ReactiveFormsModule, HttpModule],
    providers: [ContentSwap, SidebarActivity, AuthService, FirebaseAuthService]
  })
  export class DashboardModule {}
  </code></pre>