2016-05-04 18 views
1
app/main-menu.component.ts(18,24): error TS2339: Property 'isRouteActive' does not exist on type 'Router'. 
app/main-menu.component.ts(18,50): error TS2339: Property 'generate' does not exist on type 'Router'. 

私のメインメニューコンポーネントのアップグレード後:ルータエラーが角度2 RCに

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

... 
directives: [ROUTER_DIRECTIVES], 

export class MainMenuComponent {  

     constructor(private router: Router, private JwtService:JwtService){} 

public isRouteActive(route) { 
    return this.router.isRouteActive(this.router.generate(route)) 
} 

} 

を私は角2つのルータのドキュメントをチェックし、すべてのものは同じですので、なぜ私はこのエラーを取得するのですか?

答えて

2

"古い"コードの新しいルータを使用しています。

変更

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

参照

import {ROUTER_DIRECTIVES, Router} from '@angular/router-deprecated'; 

にも Angular2 router-deprecated dependencies not being loaded

+2

HMHは、私は新しいを使用するほうがよいのではないだろう、ルータのdepreactedバージョンを使用することが悪い考えだと思います1つは新しいコードですか?私はちょうど 'isRouteActive'と' router.generate'の新しいメソッドをどこに見つけるのか分かりません。 – TheUnreal

+0

もちろん、あなたはステップでそれを行うかもしれません。最初に 'rc.1'にアップグレードし、これが完了したら、新しいルータに移行してください。新しいルータにはかなりの問題があるため、コードを完全に移行するまで別のリリースを待つかもしれません。彼らはng-confの前にRCとしてそれを抜き出すことを熱望していました。既に実験や学習に使用することができます。 –