2016-03-15 45 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已經回答了同樣的問題; –

相關問題