2016-06-30 3 views
0

Я в Angular2 с последним пакетом маршрутизатора (3.0.0.8?)Angular2 Routing 3.0.0x Получить ошибки для style.css при использовании параметров

Когда я добавить параметр к одному из моих маршрутов, страница больше не может найти все необходимые файлы стиля и приложения.

Когда у меня есть это:

export const routes: RouterConfig = [ 
    {path: '', component: LandingPageComponent }, 
    { path: 'buyers', component: BuyerFormComponent }, 
    {path: 'links', component: GenerateLinksComponent}, 
    {path: 'cc/:bid', component: SupplierFormComponent} 
]; 

Когда я перейти к "http://localhost:3000/cc/b4" я получаю кучу ошибок:

ПОЛУЧИТЬ http://localhost:3000/cc/styles.css
GET http://localhost:3000/cc/app и т.д.

Мои другие маршруты без параметров w орк штраф и если удалить параметр из маршрута:

export const routes: RouterConfig = [ 
    {path: '', component: LandingPageComponent }, 
    { path: 'buyers', component: BuyerFormComponent }, 
    {path: 'links', component: GenerateLinksComponent}, 
    {path: 'cc', component: SupplierFormComponent} 
]; 

И навещать маршрут без параметров (localhost3000/куб.см), страница загружается нормально.

У меня есть href = "." в моем index.html как таковой:

<html> 
    <head> 

    <base href="."> 

Любые предложения? Спасибо!

ответ

0

Новый маршрутизатор требует

<base href="/"> 

Пустые пути маршруты, как правило, должны быть установлены terminal: true

{path: '', component: LandingPageComponent, terminal: true }, 

В beta.9 terminal: true будет заменен

{path: '', component: LandingPageComponent, pathMatch: full }, 

https://github.com/angular/angular/blob/master/modules/@angular/router/src/config.ts#L258

+0

Это исправлено, спасибо! (видимо, я не могу принять ответ в течение 8 минут ...) – saka

+0

Я использовал то, что я думаю, последнее руководство: https://angular.io/docs/ts/latest/guide/router.html#!# base-href, и он по-прежнему требует «.». Есть ли более недавний справочник и можете ли вы указать мне на документацию, касающуюся «терминала: истина»? Еще раз спасибо. – saka

+0

В GitHub упоминалось, что это необходимо обновить. Для проверки терминалов https://angular.io/docs/ts/latest/guide/router.html Недавно я нашел несколько подробных объяснений, но не помню, где. В основном он говорит, что он должен соответствовать только тогда, когда весь путь равен '' '', иначе он будет соответствовать префиксу' '' '', который будет каждый маршрут. «Терминал» устарел. Я обновлю ответ. –