Angular2 rc.5 和 hashbang
Angular2 rc.5 and hashbang
在之前的 rc.4 版本中设置 hashbang #!看起来像这样
bootstrap(ApplicationComponent, [....
{provide: LocationStrategy, useClass: HashLocationStrategy},
{provide: APP_BASE_HREF, useValue: '!'}
]);
现在在 rc.5 中,一切都发生了一点点变化,我很难找到一种方法来拥有包含 #!
的相同地址
Angular 文档对设置路由非常清楚,但是在描述中略过了 hashbang(https://angular.io/docs/ts/latest/guide/router.html) 。像在 rc.5 app.routing.ts
中那样单独设置哈希
export const routing = RouterModule.forRoot(appRoutes, { useHash: true });
但是不确定如何另外定义“!”在 url 在 rc.5
我不确定应该如何应用以及以何种形式应用。也许在 boostrap:... inside @NgModule in app.module 但到目前为止我没有让它工作。请提出建议。
您可以在 app.module.ts
文件中这样做,方法是将其添加到 providers
数组
import {ReflectiveInjector} from '@angular/core';
import { Http, Response, Request, HTTP_PROVIDERS } from '@angular/http';
let injector = ReflectiveInjector.resolveAndCreate(HTTP_PROVIDERS);
let http = injector.get(Http);
let authService = new AuthService(new LocalStorage(), http);
@NgModule({
imports: [
BrowserModule,
FormsModule,
routing,
],
declarations: [
AppComponent,
MyComponent,
],
bootstrap: [
AppComponent
],
providers: [
{provide:AuthService,useValue:authService}, // over here
AdminAuthGuard,
UserAuthGuard
]
})
在之前的 rc.4 版本中设置 hashbang #!看起来像这样
bootstrap(ApplicationComponent, [....
{provide: LocationStrategy, useClass: HashLocationStrategy},
{provide: APP_BASE_HREF, useValue: '!'}
]);
现在在 rc.5 中,一切都发生了一点点变化,我很难找到一种方法来拥有包含 #!
的相同地址Angular 文档对设置路由非常清楚,但是在描述中略过了 hashbang(https://angular.io/docs/ts/latest/guide/router.html) 。像在 rc.5 app.routing.ts
中那样单独设置哈希export const routing = RouterModule.forRoot(appRoutes, { useHash: true });
但是不确定如何另外定义“!”在 url 在 rc.5
我不确定应该如何应用以及以何种形式应用。也许在 boostrap:... inside @NgModule in app.module 但到目前为止我没有让它工作。请提出建议。
您可以在 app.module.ts
文件中这样做,方法是将其添加到 providers
数组
import {ReflectiveInjector} from '@angular/core';
import { Http, Response, Request, HTTP_PROVIDERS } from '@angular/http';
let injector = ReflectiveInjector.resolveAndCreate(HTTP_PROVIDERS);
let http = injector.get(Http);
let authService = new AuthService(new LocalStorage(), http);
@NgModule({
imports: [
BrowserModule,
FormsModule,
routing,
],
declarations: [
AppComponent,
MyComponent,
],
bootstrap: [
AppComponent
],
providers: [
{provide:AuthService,useValue:authService}, // over here
AdminAuthGuard,
UserAuthGuard
]
})