title: angular 2 router.navigate undefined
body: <p>Im trying to use navigate.route but keep running into this error: TypeError: undefined is not an object (evaluating 'this.router.navigate')</p>
  
  <p>I can't seem to get this working so I was wondering if anyone could point out what I'm doing wrong. Here is my component, and yes my route is defined as such { path: 'profile', component: Profile }. Its working fine with RouterLink just not in router.navigate. Thanks!</p>
  
  <pre><code>import {Component, ViewEncapsulation} from '@angular/core';
  import {DataService} from '../shared/services/DataService';
  import {Widget} from '../core/widget/widget';
  import {TablesBackgrid} from './tables-backgrid/tables-backgrid';
  import {DataTableDirectives} from 'angular2-datatable/datatable';
  import {SearchPipe} from './pipes/search-pipe';
  declare var jQuery: any;
  import {Router,ActivatedRoute} from '@angular/router';
  import {IAccounts} from '../shared/interfaces/IAccounts';
  import {Profile} from '../profile/profile';
  import { ROUTER_DIRECTIVES } from '@angular/router';
  
  const Agents = [];
  
  @Component({
    selector: '[account-list]',
    template: require('./account-list.html'),
    encapsulation: ViewEncapsulation.None,
    directives: [Widget,TablesBackgrid, DataTableDirectives,ROUTER_DIRECTIVES],
    styles: [require('./account-list.scss')],
    pipes: [SearchPipe]
  })
  
  export class AccountList {
      agents: any[];
      router:Router;
  
    constructor(ds:DataService) {
      let test = ds.getAccounts().then(res =&gt; {
        this.agents = res.agents;
      });
    }
  
    loadProfile(id){
      this.router.navigate(['/profile']);
    }
  
    ngOnInit(): void {
      let searchInput = jQuery('#table-search-input, #search-countries');
      searchInput
        .focus((e) =&gt; {
        jQuery(e.target).closest('.input-group').addClass('focus');
      })
        .focusout((e) =&gt; {
        jQuery(e.target).closest('.input-group').removeClass('focus');
      });
    }
  
  }
  </code></pre>