2016-03-21 25 views
0

Ich arbeite an einer Polymer-Website und habe einige Probleme. Ich hatte vorher meine Hauptlogik in index.html, und ich habe nur die gesamte Logik davon in eine Web-Komponente verschoben, die ich app.html genannt wurde. Die Website funktionierte gut, als alles in index.html war, aber wenn ich alles in die Webkomponente legte und das Element in index.html stattdessen erstellte, ist die Seite jetzt leer. Es gibt keine Skriptfehler oder irgendetwas.Polymerelement wird nicht angezeigt

index.html:

<!doctype html> 
<html lang=""> 

<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <title>My App</title> 
    <meta name="description" content=""> 
    <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes"> 

    <!-- Add to homescreen for Chrome on Android --> 
    <meta name="mobile-web-app-capable" content="yes"> 
    <meta name="application-name" content="PSK"> 
    <link rel="icon" sizes="192x192" href="images/touch/chrome-touch-icon-192x192.png"> 

    <!-- build:css styles/main.css --> 
    <link rel="stylesheet" href="styles/main.css"> 
    <!-- endbuild--> 

    <!-- build:js bower_components/webcomponentsjs/webcomponents-lite.min.js --> 
    <script src="bower_components/webcomponentsjs/webcomponents-lite.js"></script> 
    <!-- endbuild --> 

    <link rel="import" href="elements/app.html"> 

    <!-- For shared styles, shared-styles.html import in elements.html --> 
    <style is="custom-style" include="shared-styles"></style> 
</head> 

<body fullbleed unresolved> 
    <joyce-app></joyce-app> 

    <!-- build:js scripts/app.js --> 
    <script src="scripts/app.js"></script> 
    <!-- endbuild--> 
</body> 

</html> 

app.html:

<link rel="import" href="../bower_components/polymer/polymer.html"> 
<!-- Iron elements --> 
<link rel="import" href="../bower_components/iron-flex-layout/iron-flex-layout.html"> 
<link rel="import" href="../bower_components/iron-form/iron-form.html"> 
<link rel="import" href="../bower_components/iron-icons/communication-icons.html"> 
<link rel="import" href="custom-icons.html"> 
<link rel="import" href="../bower_components/iron-icons/iron-icons.html"> 
<link rel="import" href="../bower_components/iron-image/iron-image.html"> 
<link rel="import" href="../bower_components/iron-pages/iron-pages.html"> 
<link rel="import" href="../bower_components/iron-selector/iron-selector.html"> 

<!-- Paper elements --> 
<link rel="import" href="../bower_components/paper-button/paper-button.html"> 
<link rel="import" href="../bower_components/paper-card/paper-card.html"> 
<link rel="import" href="../bower_components/paper-fab/paper-fab.html"> 
<link rel="import" href="../bower_components/paper-icon-button/paper-icon-button.html"> 
<link rel="import" href="../bower_components/paper-input/paper-input.html"> 
<link rel="import" href="../bower_components/paper-input/paper-textarea.html"> 
<link rel="import" href="../bower_components/paper-item/paper-item.html"> 
<link rel="import" href="../bower_components/paper-material/paper-material.html"> 
<link rel="import" href="../bower_components/paper-scroll-header-panel/paper-scroll-header-panel.html"> 
<link rel="import" href="../bower_components/paper-styles/paper-styles-classes.html"> 
<link rel="import" href="../bower_components/paper-tabs/paper-tabs.html"> 
<link rel="import" href="../bower_components/paper-toast/paper-toast.html"> 
<link rel="import" href="../bower_components/paper-toolbar/paper-toolbar.html"> 

<!-- Neon elements --> 
<link rel="import" href="../bower_components/neon-animation/neon-animated-pages.html"> 
<link rel="import" href="../bower_components/neon-animation/neon-animatable.html"> 
<link rel="import" href="../bower_components/neon-animation/neon-animations.html"> 

<link rel="import" href="../bower_components/firebase-element/firebase-auth.html"> 

<!-- Routing --> 
<link rel="import" href="../bower_components/app-router/app-router.html"> 

<!-- My elements --> 
<link rel="import" href="../styles/app-theme.html"> 
<link rel="import" href="../styles/shared-styles.html"> 
<link rel="import" href="blog.html"> 
<link rel="import" href="artist.html"> 
<link rel="import" href="teacher.html"> 
<link rel="import" href="research.html"> 
<link rel="import" href="contact.html"> 
<link rel="import" href="login.html"> 
<link rel="import" href="simple-overlay.html"> 

<dom-module id="joyce-app"> 
    <template> 
    <!-- Main Area --> 
    <paper-scroll-header-panel main condenses keep-condensed-header> 
     <!-- Main Toolbar --> 
     <paper-toolbar id="mainToolbar" class="medium-tall"> 

     <div class="center horizontal layout fit"> 
      <div class="app-name">My Website</div> 
      <span class="flex"></span> 
      <paper-icon-button icon="account-circle" onclick="login.open()" hidden?="{{!statusKnown || user}}"></paper-icon-button> 
      <paper-icon-button icon="account-square" onclick="{{logout}}" hidden?="{{!statusKnown || !user}}"></paper-icon-button> 
      <template if="{{user}}">{{user.password.username}}</template> 
     </div> 

     <!-- Application sub title --> 
     <div class="bottom bottom-container center layout flex fit"> 
      <div class="bottom-title paper-font-subhead"> 
      <paper-tabs id="nav" selected="{{selected}}"> 
        <paper-tab><a href="#/"><iron-icon icon="home"></iron-icon></a></paper-tab> 
        <paper-tab><a href="#/artist"><iron-icon icon="custom-icons:brush"></iron-icon></a></paper-tab> 
        <paper-tab><a href="#/teacher"><iron-icon icon="custom-icons:apple"></iron-icon></a></paper-tab> 
        <paper-tab><a href="#/research"><iron-icon icon="custom-icons:book"></iron-icon></a></paper-tab> 
        <paper-tab><a href="#/contact"><iron-icon icon="mail"></iron-icon></a></paper-tab> 
      </paper-tabs> 
      </div> 
     </div> 
     </paper-toolbar> 

     <!-- Main Content --> 
     <div class="content"> 
     <app-router style="display:none;"> 
      <app-route path="/" import="/elements/blog.html"></app-route> 
      <app-route path="/artist" import="/elements/artist.html"></app-route> 
      <app-route path="/teacher" import="/elements/teacher.html"></app-route> 
      <app-route path="/research" import="/elements/research.html"></app-route> 
      <app-route path="/contact" import="/elements/contact.html"></app-route> 
      <app-route path="*" import="/elements/blog.html"></app-route> 
     </app-router> 
     <neon-animated-pages style="height:100%" id="pages" class="flex" selected="{{selected}}" entry-animation="scale-up-animation" exit-animation="fade-out-animation"> 
      <neon-animatable><joyce-blog></joyce-blog></neon-animatable> 
      <neon-animatable><joyce-artist></joyce-artist></neon-animatable> 
      <neon-animatable><joyce-teacher></joyce-teacher></neon-animatable> 
      <neon-animatable><joyce-research></joyce-research></neon-animatable> 
      <neon-animatable><joyce-contact></joyce-contact></neon-animatable> 
     </neon-animated-pages> 
     </div> 

     <simple-overlay id="login" with-backdrop> 
     <joyce-login></joyce-login> 
     </simple-overlay> 
    </paper-scroll-header-panel> 
    </template> 
    <script> 
    (function() { 
     'use strict'; 

     Polymer({ 
     is: 'joyce-app', 

     login: function() { 
      var params = {}; 
      params.email = this.email; 
      params.password = this.password; 
      this.$.firebaseLogin.login(params); 
     }, 
     create: function() { 
      this.$.firebaseLogin.createUser(this.email, this.password); 
     }, 
     errorHandler: function(e) { 
      this.message = 'Error: ' + e.detail.message; 
     } 
     }); 
    })(); 
    </script> 
</dom-module> 

Ich habe eine Woche lang mit diesem zu kämpfen und absolut nicht herausfinden kann, was ich falsch mache. Ich bin in der Lage, andere Elemente anstelle von joyce-app zu referenzieren

+0

was ist es in der Konsole anmelden? – Supersharp

+0

Welche Version von Polymer verwenden Sie? –

+0

Nichts in der Konsole. Ich verwende Polymer 1.3.1 – arazzy

Antwort

0

Schließlich dies herausgefunden! Es sieht so aus, als ob mein Styling von meiner app-theme.html nur auf index.html angewendet wurde, also wurde es nicht auf mein benutzerdefiniertes Element angewendet.

Anscheinend ist der richtige Weg, dies zu tun, auch Ihr Thema in einer .css Datei und importieren Sie es in jedes benutzerdefinierte Element, das Sie dieses Thema verwenden möchten.

0

Vergessen Sie nicht, diese zu Ihrem index.html hinzufügen, wenn Sie einen Referenzfehler (Polymer nicht definiert) sind mit

<link rel="import" href="/bower_components/polymer/polymer.html">