2016-07-29 9 views
0

私のアプリでngrx/routerを使用していましたが、これを元に戻したり、コンポーネントルーターに戻したいと思っていました。私が今持っているAngular2 '@ ngrx/router'を '@ angular/router'に置き換えます。プロパティ 'map'はタイプ 'Router'には存在しません。 &path()が存在しません

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

:私は両方のモジュールは、「ルータのオブジェクトを持って、どこ私はそうのようにルータを含めたことに気づいた私はあちこちで抽出している

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

その他の項目を私以前のルータがobeserableたように2つの主要なエラーを取得し、いずれかの代替方法を提供したり、私が持っている2つのエラーの解決策を提供できる場合、私は思っていた...最初のエラーが

Property 'map' does not exist on type 'Router'. 

です私は、このようなようなもののLOFを行います

router 
.map((locationChange:LocationChange):boolean => { 
    // do something... 
    return locationChange.path === ''; 
}) 

第二の問題は、角度成分ルータは、現在のURLを返すためのpath()方法を持っていないということです...誰もが角度成分でこれを行う方法を知っていますルータ。私は現在、ドキュメントを見て、スイッチを作る方法についての記事を見つけようとしています。

事前に感謝します。

+0

パッケージバンドラーSystemJSを使用しており、角度2ルータモジュールを正しく設定していますか? angle 2ルータモジュールをpackage.jsonに正しくロードしましたか? Angular.ioインストールガイドで提供されているクイックスタートsystemjs.config.jsを参照してください:https://github.com/JaimeStill/ng2Quickstart/blob/master/systemjs.config.js –

+0

私はSystemJSを使用していますが、私は忘れていますそれを設定してください。私はpackage.jsonの更新を持っています...今すぐリンクをチェックします! –

答えて

0

Visual Studio 2015を使用している場合、TSには既知のバグがあります。

このリンクを参照してください。 typescriptサービスのjsファイルは、問題が修正されるまで、インストールされているものとは異なるもので置き換える必要があります。限り、あなたのパスの質問など

https://github.com/Microsoft/TypeScript/issues/8518#issuecomment-229506507

。あなたが新しいルータの新しいバージョン3を使用している場合。それからこれはおそらくその質問に答えるでしょう。あなたがActivatedRouteを注入し、そのスナップショットのプロパティを使用して、より詳細 にアクセスすることができV3(RC.3)ルータで How to get current route

+0

問題は、彼が正しく角度2ルータモジュールをインストールして登録していないという事実と関係しています。以前はngrxで動作していたのであれば、これは問題ではありません。 –

+0

:-)それで、私は朝のコーヒーを食べる前にstackoverflowの質問に答えるべきではありません。 – wiredprogrammer

+0

皆さん、助けてくれることを嬉しく思います。また、Visual Studio 2015用のUpdate 3と、TypeScript 1.8.4または2.0.0のベータエクステンションがインストールされている場合、上記のバグはもう問題にはなりません。 1.8.4がある場合、TSをコンパイルするために、Microsoft.TypeScript.CompilerとMicrosoft.TypeScript.MSBuildをインストールする必要があります –

関連する問題