我想将使用 ASP.NET MVC 创建的旧网站迁移到 Angular + RESTful API 。旧网站有一个非常好的自定义CMS,我们可以在该网站上添加新的 Page ,并提供自定义URL和 Controller 名称,以及网站的所有路由穿过主要的 Controller ,通过URL搜索 Page 对象并调用最终的 Controller ,如下所示:
示例1:
URL请求:/ news
MainController:在Page表上找到“ / news”,为此对象存储的控制器是NewsController;
MainController调用NewsController;
NewsController调用适当的Model和View。
示例2:
网址请求:/ contact-us
MainController:在Page表上找到“ / contact-us”,为此对象存储的控制器是ContactUsController;
MainController调用ContactUsController;
ContactUsController调用适当的模型和视图。
现在我想用 Angular 来做到这一点,像这样:
app-routing.module.ts:
// no specific routes will be created
const routes: Routes = [
{ path: '**', component: MainComponent }
];
main.component.ts:
@Component({
selector: 'app-main',
template: ``
})
export class MainComponent implements OnInit {
constructor(private urlService: UrlService) { }
ngOnInit() {
const url: string = route.snapshot.url.join('');
this.urlService.get(url).subscribe(page => {
// now I don´t know how to call another component by the name
page.componentName
});
}
}
示例1:
URL请求:/ news
MainComponent:使用“ news”参数调用UrlService,该参数返回Page对象,并且为此对象存储的组件名称为NewsComponent;
MainComponent调用NewsComponent;
NewsComponent调用适当的服务和模板。
示例2:
网址请求:/ contact-us
MainComponent:使用“ contact-us”调用UrlService,该方法返回Page对象,并且为此对象存储的组件名称为ContactUsComponent;
MainComponent调用ContactUsComponent;
ContactUsComponentcall调用适当的服务和模板。
问题: