2

アプリのコンポーネント ルーティング

そのようにルーティングを設定しました。ユーザーが http://localhost:3000 にアクセスすると、Home コンポーネントをロードしようとします。ただし、ユーザーがログインしていない場合は、ユーザーをログイン コンポーネントにリダイレクトします。

@Component({
    moduleId: module.id,
    selector: 'app',
    templateUrl: 'app.component.html',
    styleUrls: ['app.component.css'],
    directives: [ROUTER_DIRECTIVES],
    providers: [UserService]
})
@Routes([
    {path: '/', component: HomeComponent},
    {path: '/login', component: LoginComponent}
])
export class App implements OnInit {

    title: string = 'App Component';

    constructor(private router: Router) {}

    ngOnInit() {
    }
}

その時点までは正常に動作しています。問題ない。

ユーザーがログインすると、ユーザーをホーム コンポーネントにリダイレクトします。

しかし、URL http://localhost:3000/comp1で/ comp1を読み込もうとすると、第 2 レベルを見て、「ホーム コンポーネント」の下ではなく、ホームおよびログイン コンポーネントと一緒に /comp1 を見つけようとし、エラーをスローします。ルート '/comp1' が見つかりません。

あいまいな問題であることは理解しています。私のホームURLは「/」だからです。しかし、ホーム コンポーネントがアプリのルート レベルにあることはよくあることであり、ホーム コンポーネントのルート URL に「/home」または「/main」を追加したくない場合があります。

これを機能させる方法はありますか?

4

0 に答える 0