Vendicto Vendicto - 1 year ago 240
TypeScript Question

ORIGINAL EXCEPTION: No provider for Router! angular 2 RC5

Can't use this.router.navigate.

This is my:

import {NgModule, NgModuleMetadataType} from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {FormsModule} from '@angular/forms';
import { HttpModule } from '@angular/http';
import {routing} from "./app.routing";
import {entry} from "./entry.component";
imports: [

Test component

import { Component } from '@angular/core';
import {HttpClient} from "./HttpClient.component";
import {Router} from "@angular/router-deprecated";

templateUrl: 'templates/entry.html'
export class entry {
constructor(head:HeaderComponent, private httpClient: HttpClient, private router: Router) {
this.httpClient = httpClient;

and app.routing

import { Routes, RouterModule } from '@angular/router';
const appRoutes: Routes = [
path: '',
redirectTo: '/home',
pathMatch: 'full',
path: 'home',
component: HomeComponent
path: 'search',
component: SearchComponent


export const routing = RouterModule.forRoot(appRoutes, {useHash: true});

and at end i have this error:

EXCEPTION: Error: Uncaught (in promise): EXCEPTION: Error in ./entry
class entry_Host - inline template:0:0
ORIGINAL EXCEPTION: No provider for Router!

Thank you in advance!

Answer Source

Issue is with your test component import,

you are using

import {Router} from "@angular/router-deprecated";

you should be using,

import { Router } from '@angular/router';

Hope this helps!!