2016-04-29 3 views
2

Я использую бета (ресурсы, которые они имеют на официальном учебнике)Дублированный История браузера Государство - маршрутизатор Угловое 2

В моем угловыми приложение, при навигации приложения в определенных точках я должен щелкнуть назад дважды чтобы фактически вернуться - почти так же, как если бы одна и та же страница дважды переводилась в историю браузера.

Я не могу понять, является ли это ошибкой Angular 2 или если в моем коде есть что-то фанки.

Например, следующий URL-адрес, введенный непосредственно в адресную строку или перенесенный в приложение, потребует дважды нажать кнопку «Назад», чтобы фактически вернуться: http://localhost:3000/products/strollers (product-list.component).

Вот код, который я думаю актуальна:

app.component.ts

// imports and whatnot 
// ... 

@Component({ 
    selector: 'rz-app', 
    templateUrl: 'app/views/wrap.html', 
    directives: [ 
     ROUTER_DIRECTIVES, 
     NavComponent, 
     CartWidgetComponent, 
     PreloaderComponent 
    ], 
    providers: [ 
     ROUTER_DIRECTIVES, 
     NavServices, 
     CartServices, 
     FavoriteServices 
    ] 
}) 


@RouteConfig([ 
    { 
     path: '/', 
     name: 'Home', 
     component: TilesComponent, 
     useAsDefault: true 
    }, 
    { 
     path: '/home', 
     name: 'Home', 
     component: TilesComponent, 
    }, 
    { 
     path: '/categories', 
     name: 'Categories', 
     component: CategoryComponent 
    }, 
    { 
     path: '/category/:slug', 
     name: 'Category', 
     component: ProductListComponent 
    }, 
    { 
     path: '/pro-shop', 
     name: 'The Pro Shop', 
     component: StorefrontComponent 
    }, 
    { 
     path: '/world-traveler', 
     name: 'The World Traveler', 
     component: StorefrontComponent 
    }, 
    { 
     path: '/products/:slug', 
     name: 'ProductsList', 
     component: ProductListComponent 
    }, 
    { 
     path: '/products', 
     name: 'Products', 
     component: ProductListComponent 
    }, 
    { 
     path: '/product/:slug/:id', 
     name: 'Product', 
     component: ProductComponent 
    } 
]) 

export class AppComponent { 

продукт-list.component.ts

@Component({ 
    selector: 'rz-product-list', 
    directives: [SortComponent, SearchComponent, ROUTER_DIRECTIVES], 
    pipes: [SortPipe, SearchPipe], 
    templateUrl: 'app/views/products-list.html' 
}) 


export class ProductListComponent { 
    // default title 
    title = 'Product'; 
    products; 
    sortValue; 
    searchValue; 

    /* for rz-sort */ 
    sort_options = [ 
     { 
      label: "Lowest Price First", 
      sortBy: "points", 
     }, 
     { 
      label: "Highest Price First", 
      sortBy: "-points", 
     }, 
     { 
      label: "Brand Z-A", 
      sortBy: "-brand", 
     }, 
     { 
      label: "Brand A-Z", 
      sortBy: "brand", 
     }, 
     { 
      label: "Product Name Z-A", 
      sortBy: "-name", 
     }, 
     { 
      label: "Product Name A-Z", 
      sortBy: "name", 
     } 
    ]; 

    // constructor of services 
    constructor(
     private _router: Router, 
     private _routeParams: RouteParams, 
     private _favService: FavoriteServices 
    { } 

    // initialize 
    ngOnInit() { 

     var _param; 
     _param = this._routeParams.params.slug; 

     this.getProducts(_param); 
     this.title = _param; 
    } 

    // ... 

} 

index.html

<html> 
    <head> 

    <base href="/"> 

    <title>Sriracha!!!</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic' rel='stylesheet' type='text/css'>  
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"> 
    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/pure-min.css"> 
    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.6.0/grids-responsive-min.css"> 

    <link rel="stylesheet" href="dist/assets/css/structure.css"> 
    <link rel="stylesheet" href="dist/assets/css/styles.css"> 
    <link rel="stylesheet" href="dist/assets/css/skins/minimal.css"> 
    <link rel="stylesheet" href="dist/assets/css/skins/tiles.css"> 
    <link rel="stylesheet" href="dist/assets/css/skins/usb.css"> 

    <!-- 1. Load libraries --> 
    <!-- IE required polyfills, in this exact order --> 
    <script src="node_modules/es6-shim/es6-shim.min.js"></script> 
    <script src="node_modules/systemjs/dist/system-polyfills.js"></script> 
    <script src="node_modules/angular2/es6/dev/src/testing/shims_for_IE.js"></script> 
    <script src="node_modules/angular2/bundles/angular2-polyfills.js"></script> 
    <script src="node_modules/systemjs/dist/system.src.js"></script> 
    <script src="node_modules/rxjs/bundles/Rx.js"></script> 
    <script src="node_modules/angular2/bundles/angular2.dev.js"></script> 
    <script src="node_modules/angular2/bundles/router.dev.js"></script> 
    <script src="node_modules/angular2/bundles/http.dev.js"></script> 
    <!-- 2. Configure SystemJS --> 
    <script> 
     System.config({ 
     packages: {   
      dist: { 
      format: 'register', 
      defaultExtension: 'js' 
      } 
     } 
     }); 

     System.import('dist/main') 
      .then(null, console.error.bind(console)); 
    </script> 
    </head> 
    <!-- 3. Display the application --> 
    <body> 
    <rz-app> 
     <!-- Can't use preloader component here :(--> 
     <div class="preloader-modal"> 
     <div class="preloader-content"> 
      <img src="dist/assets/images/preloader.gif"/> 
      <p>Loading...</p> 
     </div> 
     </div> 
    </rz-app> 
    </body> 
</html> 

Не знаю, что происходит, какие-либо предложения?

ответ

0

для прекращенного маршрутизатора

Это известная проблема. В любом случае маршрутизатор перерабатывается.

+0

сделал этот вопрос был зафиксирован или оно еще не завершено? Я тоже получаю эту ошибку на стабильной версии с угловым2 – Basit

+0

С тех пор было как минимум 2 перезаписи маршрутизатора. Все проблемы были закрыты, потому что маршрутизатор, к которому они обращались, больше не поддерживается. Я не нашел аналогичную проблему для текущего маршрутизатора. Если вы можете воспроизвести в Plunker, создайте новый отчет об ошибке. –

+0

У меня есть такая же проблема на нашем веб-сайте с последней стабильной версией углового, которая больше не является RC. но я не уверен, как воспроизвести его, я не эксперт в угловой2. – Basit

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