2014-11-19 6 views
8

Ich habe ein Problem machen (kein render) ein Kern-Listenelement, wenn mein benutzerdefiniertes Element in Kern-animiert-Seiten istPolymer: Meine Kern-Liste nicht gemacht wird, wenn im Kern-animierte-Seiten Element

hier ist ein jsfiddle, wenn es funktioniert (graue Liste) ==> Album-Gitter außerhalb Kern-animiert-Seiten http://jsfiddle.net/flagadajones/yq30u78d/

hier ist eine jsfiddle wenn id nicht funktioniert hat (keine graue Liste) ==> Album- Raster in Kern-animierte Seiten http://jsfiddle.net/flagadajones/m87sd0x3/2//

können Sie mir helfen, danke

Hier ist mein Code:

<script src="https://www.polymer-project.org/components/webcomponentsjs/webcomponents.js"> 
    </script> 

    <link href="https://www.polymer-project.org/components/core-drawer-panel/core-drawer-panel.html" rel="import"> 
    <link href="https://www.polymer-project.org/components/core-icons/core-icons.html" rel="import"> 
    <link href="https://www.polymer-project.org/components/core-icon-button/core-icon-button.html" rel="import"> 
    <link href="https://www.polymer-project.org/components/core-animated-pages/core-animated-pages.html" rel="import"> 
    <link href="https://www.polymer-project.org/components/core-toolbar/core-toolbar.html" rel="import"> 
    <link href="https://www.polymer-project.org/components/core-list/core-list.html" rel="import" > 

    <style> 
    html, body { 
     margin: 0; 
     -webkit-tap-highlight-color: transparent; 
     overflow: hidden; 
    } 
     remote-app{ 
     display: block; 
     height: 100%; 
     margin: 0 auto; 
    } 

    </style> 
    </head> 
    <body fit> 
    <remote-app ></remote-app> 


<polymer-element name="album-detail" attributes="album" layout vertical> 
    <template> 
    <style> 
     #details { 
     width: 740px; 
     margin: auto; 
     height: 100%; 
     box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.6); 
     poosition:relative; 
     } 
     .mycard { 
     height: 540px; 
     border-radius: 3px; 
     text-align: start; 
     overflow: hidden; 
     background: #fff; 
     box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.19); 
     } 
     .card-left { 
     width: 200px; 
     height: 200px; 
     background-color:blue; 
     } 

     .btn{ 
     background-color:red; 
     height:63px; 
     } 
     .title{ 
     background-color:yellow; 
     color:black; 
     } 
     .info{ 
     height:200px 
     } 
     .item{ 
     height:48px; 
     color:black; 
     background-color:grey; 
     } 
    </style> 
    <section id="details" class="details" > 

     <div class="mycard " layout vertical> 
     <div layout horizontal> 
      <div class="card-left" ></div> 
      <div flex auto-horizontal layout vertical class="info"> 
      <div layout vertical flex class="title"> 
       <div flex auto>title</div> 
       <div flex auto>title2</div> 
      </div> 
      <div layout horizontal > 
       <a flex class="btn">aaa</a> 
       <a flex class="btn">bbb</a> 
       <a flex class="btn">ccc</a> 
      </div> 
      </div> 
     </div> 
     <core-list id="list3" data="{{album.pistes}}" height="48" flex> 
      <template> 
      <div layout horizontal class="item" center> 
       <div>{{index}} toto {{model.name}}</div> 
      </div> 
      </template> 
     </core-list> 
     </div> 
    </section> 

    </template> 
    <script> 
    Polymer({ 

    }); 
    </script> 
</polymer-element> 


<polymer-element name="remote-app" layout vertical> 

    <template> 
    <style> 

     [drawer] { 
     background-color: #B99588; 
     border-right: 1px solid #ccc; 
     } 
     [main] { 
     background-color: #4F7DC9; 
     height:100%; 
     } 
     :host { 
     display: block; 
     position: absolute; 
     top: 0; 
     left: 0; 
     width: 100%; 
     height: 100%; 
     overflow: hidden; 
     } 

     .album-grid { 
     display: block; 
     height: 100%; 
     width: 100%; 
     margin: 0 auto; 
     } 
     #pages { 
     display: block; 
     height: 100%; 
     margin: 0 auto; 
     } 
     .item{ 
     height:48px; 
     color:black; 
     background-color:grey; 
     } 
    </style> 
    <core-drawer-panel> 
     <div drawer> 
     </div> 
     <div main> 
     <album-detail album="{{ele}}" flex/> 
     <!--core-animated-pages id="pages" selected="0" > 
      <album-detail album="{{ele}}" /> 
     </core-animated-pages--> 
     </div> 
    </core-drawer-panel> 
    </template> 
    <script> 
    Polymer({ 
    ele:{pistes:[{name:"1"},{name:"2"},{name:"3"},{name:"4"}]} 
    } 
      ); 
    </script> 
</polymer-element> 

Antwort

0

Ich war mit Polymer 0.5.1 genau das gleiche Problem haben.

Für jetzt habe ich core-animated-pages zurück zu core-pages geschaltet und es richtig rendert.

0

Dies ist kein "Fix", sondern eine Arbeit um. Ich habe festgestellt, dass das Einfügen eines beliebigen Textes oder sogar eines Tags zwischen dem Element core-list und seinem Vorlagenelement dazu führt, dass es in Kern-animierten Seiten gerendert wird.

Vielleicht hilft das auch jemandem, das Problem zu beheben.

2

Kevin Schaaf hat mir geholfen, dieses Problem zu beheben. Bitte sehen Sie diese thread.

Beachten Sie, dass Sie zuerst die neueste Version von Polymer (derzeit 5.2) von bower erhalten müssen. Dann gehen Sie zu core-animated-pages.html und finden dieses Stück Code -

if (!oldItem) { 
    this.applySelection(this.selectedItem, true); 
    return; 
} 

Nun fügen this.async(this.notifyResize); nach applySelection -

if (!oldItem) { 
    this.applySelection(this.selectedItem, true); 
    this.async(this.notifyResize); 
    return; 
} 

Das ist es! Ihr Code sollte funktionieren, ohne updateSize oder andere Tricks aufzurufen.

Ich denke, nach 5.2 wird dieses Update in Paket enthalten sein, so dass Sie dies nicht tun müssen. Aber jetzt ist es nur eine einfache Änderung, die Sie machen müssen.

Verwandte Themen