Angular 4在路由模块中使用服务

Pie*_*Jan 6 typescript angular angular-router

我正在尝试使用Laravel REST API创建一个简单的CMS系统。对于前端,我使用Angular 4框架和angular CLI。现在,我正在尝试生成动态路由(通过使用服务从API提取页面并为每个页面生成路由)。我用本地数据模拟进行了尝试,并使它像这样工作。

Routing.module.ts

let cmsService: CmsService = new CmsService();
const pages = cmsService.getPageNames();

const routes: Routes = [
  { path: '', component: OverviewComponent },
  { path: 'login', component: LoginComponent}
];

for (let i = 0; i < pages.length; i++) {
  routes.push(
    { path: pages[i].toString(), component: PageEditComponent}
  );
}
Run Code Online (Sandbox Code Playgroud)

我知道这可能不是做事的最佳方法,但它确实有效。现在,我必须注入HTTP,整个过程都失败了,因为以下内容不再起作用,因为它期望注入HTTP。

let cmsService: CmsService = new CmsService();
Run Code Online (Sandbox Code Playgroud)

我可能可以通过以某种方式使http变量传递它,但感觉有点脏。所以我开始怀疑是否没有更简单的方法可以做到这一点。例如,按预期方式注入服务,而不是创建新服务。并为以这种方式检索的页面创建路由。

提前致谢!