2016-03-15 39 views
1

当我试图添加hashlocationstrategy不能绑定到“routerLink”,因为它不是一个已知的原生属性

boot.ts

///<reference path="../typings/browser.d.ts"/> 

import { bootstrap } from "angular2/platform/browser"; 
import { RootComponent } from "./root.component"; 
import { ROUTER_PROVIDERS, ROUTER_DIRECTIVES, LocationStrategy, HashLocationStrategy} from "angular2/router"; 
import { PLATFORM_DIRECTIVES, provide, enableProdMode } from "angular2/core"; 
import { HTTP_PROVIDERS } from "angular2/http"; 
import { FirebaseService } from "./shared/firebase.service"; 
import { Environment } from "./config/environment"; 

if (Environment === "production") { 
    enableProdMode(); 
} 


bootstrap(RootComponent, [ 
    FirebaseService, 
    ROUTER_PROVIDERS, 
    HTTP_PROVIDERS, 
    provide(
    [PLATFORM_DIRECTIVES, {useValue: [ROUTER_DIRECTIVES], multi: true}], 
    [LocationStrategy, {useClass: HashLocationStrategy}] 
) 
]) 
    .catch(err => console.error(err)); 

认为这个错误发生了,因为我使用的语法这样的平台指令和位置策略都是错误的。任何线索?

回答

1

有需单独provide()两个PLATFORM_DIRECTIVESLocationStrategy

bootstrap(RootComponent, [ 
    FirebaseService, 
    ROUTER_PROVIDERS, 
    HTTP_PROVIDERS, 

    provide(PLATFORM_DIRECTIVES, {useValue: ROUTER_DIRECTIVES, multi: true}), 
    provide(LocationStrategy, {useClass: HashLocationStrategy}) 

    .catch(err => console.error(err)); 
+0

嗯然后我得到这在TS lint没有括号'提供的参数不匹配任何调用目标的签名.'并且它不会编译 –

+0

我更新了我的答案。 –

+1

伟大的作品谢谢你! –

0

你可以试试这个来引导你的应用程序是这样的:

bootstrap(RootComponent, [ 
    FirebaseService, 
    ROUTER_PROVIDERS, 
    HTTP_PROVIDERS, 
    provide(
    PLATFORM_DIRECTIVES, {useValue: [ROUTER_DIRECTIVES], multi: true}), 
    provide(LocationStrategy, {useClass: HashLocationStrategy}) 
]) 
.catch(err => console.error(err)); 

看到这个plunkr:https://plnkr.co/edit/6fXmPi?p=preview

+0

嗯能你请检查这个线程吗?它的工作,它没有hashstrategy'http:// stackoverflow.com/questions/35878966/router-directives-in-two-places-for-same-purpose/35880222#35880222' –

+0

是的你是对的。我错过了你的部分问题。我认为你不用正确的方式使用“提供”功能......我相应地更新了我的答案。 –

+0

谢谢您的回答,但GünterZöchbauer已经回答了同样的问题; –

相关问题