Angular2 rc.5 and hashbang

3
在之前的rc.4版本中,设置hashbang #!的方式如下所示。
bootstrap(ApplicationComponent, [....
    {provide: LocationStrategy, useClass: HashLocationStrategy},
    {provide: APP_BASE_HREF, useValue: '!'}
]);

现在在rc.5版本中,一切都有了些微的改变,我很难找到一个包含#!的相同地址的方法。

Angular文档对设置路由非常清晰,但哈希标记在描述中有些被跳过(https://angular.io/docs/ts/latest/guide/router.html)。在rc.5版本中,仅设置哈希可以通过app.routing.ts文件完成。

export const routing = RouterModule.forRoot(appRoutes, { useHash: true });

然而,在rc.5中不确定如何在url中进一步定义“!”。

我不确定应该如何应用以及以什么形式。也许是在app.module的@Ngmodule中的boostrap:…,但目前我还没有成功。请给出建议。

1个回答

0

您可以在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
  ]
})

非常感谢。我以为我已经尝试过了,但再试一次就没问题了。谢谢。 - FunAnd GoApps

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接