【发布时间】:2017-01-03 10:00:08
【问题描述】:
我正在将现有的 db (Wordpress) 驱动站点转换为 Angular 2 前端,同时保持后端不变。我正处于路由阶段,我想从数据库中提取的 JSON 数据创建路由。
所以,我创建了一个服务来从数据库中提取数据,并创建了一个单独的路由模块来注册路由:
app-routing.module.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { NavService } from './nav.service';
var navService: NavService;
const routes: Routes = navService.getRoutes();
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRouting{}
nav.service.ts
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class SiteNavService{
private _navUrl = 'pathtofile/?action=ajax_site_nav';
constructor(private _http: Http){}
getNav(){
return this._http.get(this._navUrl)
.map( res => res.json())
.toPromise();
}
}
服务注册在 app.module.ts providers 数组中,路由模块注册在 imports 数组中。我无法让 nav.service 在路由模块文件中工作。
【问题讨论】:
标签: wordpress angular angular2-routing