2016-07-27 7 views
3

Ich habe seit mindestens 2 Stunden kämpfen versucht, einige grundlegende Routen richtig zu bekommen. Ich benutze Polymer 1.5.0 und habe Probleme mit verschachtelten Routen.Polymer verschachtelte App Routen sind nicht korrekt zugeordnet

Ich bin mit App-Route 0.9.2

Als this post suggests verwendet Polymer einen dezentralen Ansatz in Routing. Deshalb habe ich beschlossen, die folgendes zu tun:

<app-route route="{{route}}" 
     pattern="/:page" 
     data="{{data}}" 
     tail="{{tail}}"> 
</app-route> 

    <iron-pages selected="{{data.page}}" attr-for-selected="title" fallback-selection="404"> 
     <pgarena-home-app title="" route="{{tail}}" ></pgarena-home-app> 
     <pgarena-tournament-app title="tournament" route="{{tail}}"></pgarena-tournament-app> 
     <pgarena-account-app title="account" route="{{tail}}"></pgarena-account-app> 
     <div title="404"> 
      <h1>{{data.page}} could not be found!</h1> 
     </div> 
    </iron-pages> 

Subpages:

pgarena-Konto-App

<iron-pages selected="{{data.action}}" attr-for-selected="title" fallback-selection="404"> 
      <pgarena-account-index-view title=""></pgarena-account-index-view> 
      <pgarena-account-login-view title="login"></pgarena-account-login-view> 
      <pgarena-account-register-view title="register"></pgarena-account-register-view> 
      <div title="404"> 
       <h1>Not found :(</h1> 
      </div> 
     </iron-pages> 

pgarena-Turnier-App

<!-- Chooses the new tournament page. --> 
     <app-route 
     route="{{route}}" 
     pattern="/:action" 
     data="{{data}}" 
     tail="{{tail}}" 
     > 
     </app-route> 

    <iron-pages selected="{{data.action}}" attr-for-selected="title" fallback-selection="404"> 
     <pgarena-tournament-index-view title=""></pgarena-tournament-index-view>  
     <!-- The list of all the tournaments -->  
     <pgarena-tournament-list-view title="list"></pgarena-tournament-list-view> 
     <div title="404"> 
      <h1>Not Found!</h1> 
     </div> 
    </iron-pages> 

Alles scheint in Ordnung , Recht? Nach der URL Was ich hier mache, nutzt Lazy Load von Elementen.

Ich habe in der Polycasts examples gesehen, dass sie den "versteckten" Ansatz verwenden. In dem sie das Element auswählen. Das Problem ist, dass wir den "Lazy Loading Advantage" verlieren.

Ich habe mir eine Weile den Kopf geschlagen ... was könnte falsch sein?

Antwort

4

OMG! Ich hab es total vergessen. In Polycasts #46/47 Rob Dodson macht die starke Betonung, dass, wenn Eisen-Selektor verwenden, sollten wir Einweg Bindung passieren, die mit den eckigen Klammern [] im Vergleich zu den geschweiften Klammern sind {}

So am Ende des Tages es sollte gewesen:

<iron-pages selected="[[data.action]]" 

Statt:

<iron-pages selected="{{data.action}}"