Беллоу структураAngular2 маршрутизации с помощью кнопки задней
app.component
/posts/posts.component
/shared/shared.component
/shared/gallery.component
под app.component, у меня
@RouteConfig([
{ path: './shared/...', name: 'Shared', component: SharedComponent },
{ path: './posts/...', name: 'Posts', component: PostsComponent}
])
под posts.component, у меня есть
@RouteConfig([
{ path: '/', name: 'PostList', component: PostListComponent, useAsDefault: true },
{ path: '/:id', name: 'PostDetail', component: PostDetailComponent },
{ path: '/:id/gallery', name: 'Gallery', component: GalleryComponent }
])
под gallery.component, я
import {Component, Input} from 'angular2/core';
import {Router} from 'angular2/router';
import {Photo} from './photo';
import {GalleryService} from './gallery.service';
@Component({
selector: 'my-gallery',
template: `
<my-photo *ngFor="#item of items" [style.backgroundImage]="'url(' + item.thumb + ')'"></my-photo>
`
})
export class GalleryComponent {
@Input() items;
constructor(private _galleryService: GalleryService) {
if (this._galleryService.get()) {
this.items = this._galleryService.get();
}
}
}
Проблема заключается в том, что я могу перейти в галерею (от http://server/posts/123
до http://server/posts/123/gallery
) в порядке, но когда я нажимаю браузер кнопку назад, даже если URL не меняется обратно, ничего в изменении видового экрана, моя галерея не удаляется, а my-post не загружается.
Если я переключусь на HashLocationStrategy
, кнопка «Назад» работает, но я бы предпочел не перейти на это.
Получено сообщение об ошибке в консоли браузера? –
Нет, ошибок нет. – Stone
Можете ли вы воспроизвести проблему в plunkr? – dfsq