2016-04-20 41 views
1

我設置Angular2使用自舉調用舊校舍HashLocationStrategy:IE9中的Angular2沒有路由?

bootstrap(AppComponent,[ 
    ROUTER_PROVIDERS, 
    API_PROVIDERS, Storage, 
    provide(LocationStrategy, { useClass : HashLocationStrategy }) 
]); 

我已經設置了以下路線:

new Route({ path: '/', name: 'Home', component: HomeComponent }), 
    new Route({ path: '/search/:term/:cat/:page/:sort/:size/:more', name: 'Search6', component: HomeComponent }), 
    new Route({ path: '/search/:term/:cat/:page/:sort/:size', name: 'Search5', component: HomeComponent }), 
    new Route({ path: '/search/:term/:cat/:page/:sort', name: 'Search4', component: HomeComponent }), 
    new Route({ path: '/search/:term/:cat/:page', name: 'Search3', component: HomeComponent }), 
    new Route({ path: '/search/:term/:cat', name: 'Search2', component: HomeComponent }), 
    new Route({ path: '/search/:term', name: 'Search1', component: HomeComponent }), 
    new Route({ path: '/details/:accountNumber', name: 'Details', component: DetailsComponent }) 

我知道如果我在我的路由可能會更加清晰取而代之的是使用查詢字符串參數,但是我會在稍後清理它。

我建我的參數,然後嘗試使用該行導航:

this.router.navigate(['Search' + paramCount, params]); 

paramCountparams創建與上面的途徑之一匹配。這在Chrome,IE10,IE11,Edge和除IE9以外的所有其他瀏覽器都很好,我沒有任何錯誤,沒有反饋,頁面也沒有路由。當我在我的頁面上的搜索框中輸入回車時,它正確地構建了paramCountparams,並點擊上面的導航行,但沒有任何反應。

我在Win7上測試一個實際的IE 9瀏覽器(帶和不帶兼容模式,這似乎沒有什麼區別)。我正在使用目前最新的Angular2.0.0-beta15,並且我可以找到所有推薦的墊片/ polyfill。我也早在beta 11版本中也沒有發揮作用。

如果我得到零反饋,我甚至可以調試嗎?

這裏是一個絕對最小plnkr:http://plnkr.co/edit/VR7SQaokPZLdfAtfyagm?p=preview

+0

清爽解決問題嗎?如果是這樣,它可能與https://github.com/angular/angular/issues/6867有關 – Matty

回答