运行方式:页面跳转顺序逻辑
app route ts
import TeacherDashboardComponent&Stu&Admin所以能指定三者路径
export const route:【{path:‘’,conponent:LoginComponent}】明确指出URL指向组件
app ts
login cp ts
import Router 在ts用router navigate到子组件
import { AuthService, UserInfo } from ‘../shared/admin.service’;
userinfo理解
db: SELECT user_id, user_name as username, role, password
FROM users
WHERE user_id = %s AND password = %s
py: 返回給前端session[‘user_id’] = user[‘user_id’]
session[‘username’] = user[‘username’]
session[‘role’] = user[‘role’]返回給前端
ng:比如admin cp:// 定义用户信息接口
export interface UserInfo {
user_id: string;
username: string;
role: string;
}
login:login cp ts:
export class LoginComponent 所以能被app route找到
constructor (
private router: Router)給一下登錄的學生老師管理員錯誤跳轉
onLogin(): void {
if (user.role === ‘student’){
this.router.navigate([‘/student/dashboard’]);
queryParams:{ student_id: this.loginData.userId}
}
老師
管理員
不支持的用戶角色
}
總結:
app route ts類比py的路由,決定URL指向哪個組件
src類比py的blueprint,
區別在於
ng小“嵌套”進大cp,py只有導入導出
ng import有ng自帶的控件,也有selector命名,組件內導入此控件
eg app ts router outlet對應組件渲染,也是py沒有的