我最近开始研究Angular(Angular 5),路由虽然很新但是很弱。我的应用程序有3个名为Sub CheckLogin()
Dim conn = New SqlConnection("Data Source=SRV-SQL;Initial Catalog=prova;User ID=user;Password=user")
conn.Open()
Try
Dim query As String = "select count(*) from tblLogin where username = @username and password= @password "
Dim cmd = New SqlCommand(query, conn)
cmd.Parameters.AddWithValue("@username", txtUsername.Text)
cmd.Parameters.AddWithValue("@password", txtUserPwd.Text)
Dim DR As SqlDataReader = cmd.ExecuteReader()
If DR.HasRows Then
MsgBox("Logged-in successfully")
Else
MessageBox.Show("The username or the password is wrong!", "Warning!", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
conn.Close()
End Sub
的标签,并且我有两种类型的用户Home, School, Office
和Admin
。单击non-admin
标签后,管理员将被重定向到“管理”页面,非管理员用户将被重定向到非管理页面。
因此,为此要求,我做了这样的路由:
app.module.ts
Office
app.component.ts
@NgModule({
imports: [
BrowserModule,
AdminModule,
NonAdminModule
],
declarations: [AppComnonent],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.html
ngOnInit(){
this.userIsAdmin = true;
}
non-admin.module.ts
<div *ngIf='!userIsAdmin '>
<non-admin-page></non-admin-page>
</div>
<div *ngIf='userIsAdmin '>
<admin-page></admin-page>
</div>
admin.module.ts
@NgModule({
imports: [
],
declarations: [NonAdminComnonent],
exports: [NonAdminComnonent]
})
export class NonAdminPageModule { }
admin-page.html
@NgModule({
imports: [
],
declarations: [AdminComnonent],
exports: [AdminComponent]
})
export class AdminPageModule { }
non-admin-page.html
<div>I am ADMIN</div>
我必须在页面加载时路由到其他模块,路由正确吗?请引导我。
答案 0 :(得分:0)
我会使用延迟加载:How to Route to Feature Module。
如果不尝试,请尝试:https://stackblitz.com/edit/angular-hd7ayj。
您的代码将是学校,而不是迪士尼。
查看我的个人资料以查看实际应用。
希望这会有所帮助。编码愉快。
答案 1 :(得分:0)
以您为例,您只是根据同一组件中的情况显示 admin 和非管理员 html。 如果要使用路由来区分,可以使用以下过程,
通过这种方式,您可以区分管理员和非管理员的组件。