2015-12-21 2 views
3

У меня проблемы с маршрутизацией.Angular2 Routing. Slash в конце URL-адреса

Когда я добавляю в url 'myapp.com/route' еще одну косую черту в конце, например myapp.com/route/, мои ресурсы загружаются с 'myapp.com/route/...'.

Например: у меня была библиотека, которую нужно загрузить с 'myapp.com/starwars.js', но с косой чертой она будет загружена с 'myapp.com/route/starwars.js'. http://prntscr.com/9gpeen

Но это нормально без слэш http://prntscr.com/9gpepv

Код

import {Component} from 'angular2/core'; 
import {Route, RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router' 
    import {NotFound} from './notfound/notfound'; 
import {TimerComponent} from './timer/timer.component' 

    @Component({ 
    selector: 'my-app', 
    template:` 
     <a [routerLink]="['Timer']">Timer</a> 
     <router-outlet></router-outlet> 
     `, 
    directives: [ROUTER_DIRECTIVES] 
    }) 
    @RouteConfig([ 

    { path: 'timer/', name: 'Timer', component: TimerComponent}, 
    new Route({path: '/**', component: NotFound}) 
    ]) 
    export class AppComponent { } 

Спасибо за ваши ответы!

ответ

0

Я не знаю, как вы включаете свой starwars.js, но это, вероятно, относительно текущего URL. Вот почему он разрешает неправильный адрес, когда у вас есть косая черта в вашем адресе.

Вы можете попробовать добавить базовый URL на страницу:

<base href="/"> 

С этим, вы убедитесь, что все относительные адреса будут разрешены против `/` `.

Для получения дополнительной информации см. Angular 2 doc here.

+0

это была проблема для меня, мой тег был не в том месте, кричит! Спасибо! – trickpatty

Смежные вопросы