【发布时间】:2018-07-05 05:26:56
【问题描述】:
我为登录和注册制作了一个切换按钮。我想根据此按钮切换状态导航到相应的组件。
如何在条件内传递或路由我的自定义组件?
app.component.ts
import { Component } from '@angular/core';
import { RouterModule, Router, Routes } from '@angular/router';
import { LoginComponent } from './login/login.component';
import { RegisterComponent } from './register/register.component';
import { templateJitUrl } from '@angular/compiler';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Demo';
public show: boolean = false;
public buttonName: any = 'Register';
toggle() {
this.show = !this.show;
if(this.show) {
this.buttonName = "Login";
console.log(this.buttonName);
// code to load login component
}
else {
this.buttonName = "Register";
console.log(this.buttonName)
// code to load register component
}
app.component.html
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div style="text-align:center">
<h1>
Welcome to {{ title }}!
</h1>
<button (click)="toggle()" id="bt" routerLink="/register">{{buttonName}}</button>
</div>
<br />
<router-outlet></router-outlet>
</body>
</html>
【问题讨论】:
-
你能分享你的HTML页面的代码吗
-
您确定要延迟加载组件吗?我有一种感觉,你真的只想显示你的应用程序的不同状态,这真的不需要这种方法
-
查看更新后的帖子。 @eduPeeth
-
@Jens Habegger 我想切换注册/登录按钮并相应地加载组件。
-
出于好奇,您采用这种方法的动机是什么?