私はDIについて以前に質問を投稿して以来、ここで同じ問題が見つかりました。私はその何かをしているか、私のdevのセットアップを知っていないのですか?角2を注入するとルータが動作しない
私はルータにコンポーネントを注入しようとしています。
:私は実行すると、以下のように私はCan't resolve all parameters for LoginComponent
次のエラーを取得するアプリケーションは、私のビルドプロセスがある私含むモジュールは、この
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { Router } from '@angular/router';
import { LoginComponent } from './login.component';
import { User } from '../user/user';
@NgModule({
imports: [ BrowserModule, FormsModule, Router ],
declarations: [ LoginComponent ],
bootstrap: [ LoginComponent ]
})
export class LoginModule { }
のように見え、これは私のコンポーネント
import { Component } from '@angular/core';
import { Inject } from '@angular/core';
import { Router } from '@angular/router';
import { User } from '../user/user';
@Component({
templateUrl: './login.template.html'
})
export class LoginComponent {
user = new User("", "");
submitted:boolean = false;
inProgress:boolean = false;
constructor (private router : Router) {
}
}
です
inline-angular-compilerを実行する(実際のjsファイルにtemplateUrlを埋め込む) tscを実行する(tsからjsに変換する)
タイスクリプトの変換を実行するとDIの問題が発生する可能性があると聞きましたが、代わりに何がありますか?
編集:
私のルータのセットアップ
import { Routes, RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
import { DashboardComponent } from './dashboard/dashboard.component';
import { UserRoutes } from './user/user.routing';
import { DashboardRoutes } from './dashboard/dashboard.routing';
import { LoginRoutes } from './login/login.routing';
const routes: Routes = [
...UserRoutes,
...DashboardRoutes,
...LoginRoutes,
//this needs to redirect to a homepage
{path:'', component: DashboardComponent}
];
export const appRoutingProviders: any[] = [
];
export const routing = RouterModule.forRoot(routes);
ルーティング設定はどこですか?インポートに 'Router'ではなく' RouterModule'をインポートしてください。 –
私はrouter.navigateを使用しようとしています。だから、私はRouterModuleのインポートがうまくいくと思いませんか?私は標準的なルータの設定をしていますが、上記のように参照用に追加してください。@MadhuRanjan – mwild
'NgModule'の' imports'に 'Router'を追加するのは間違っています。 TypeScriptのインポートとモジュールのインポートを混同しないでください。 'AppModule'に' routing'( 'RouterModule.forRoot(routes)')をインポートする必要があります。私はあなたの質問にこのコードが表示されません。また、 'LoginModule'の' NgModule'に 'RouterModule'をインポートするべきだと思います。 –