2016-03-21 5 views
0

Я работаю на веб-сайте Polymer, и у меня есть некоторые проблемы. Ранее у меня была моя основная логика в index.html, и я просто переместил всю логику из нее в созданный мной веб-компонент под названием app.html. Веб-сайт работал нормально, когда все было в index.html, но когда я переместил все это в веб-компонент и создал элемент в index.html, страница теперь пустая. Нет ошибок скрипта или чего-то еще.Полимерный элемент не отображается

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> 

я боролся с этим в течение недели и совершенно не могу понять, что я делаю неправильно. Я могу ссылаться на другие элементы вместо joyce-app

+0

Что это войти в консоль? – Supersharp

+0

Какую версию Polymer вы используете? –

+0

Ничего в консоли. Я использую полимер 1.3.1 – arazzy

ответ

0

Наконец понял это! Похоже, мой стиль с моего app-theme.html был применен только к index.html, поэтому он не применялся к моему пользовательскому элементу.

По-видимому, правильный способ сделать это - также иметь свою тему в файле .css и импортировать ее в каждый пользовательский элемент, который вы хотите использовать в этой теме.

2

Тег <polymer-element> больше не используется для определения элемента в новой версии Polymer.

https://www.polymer-project.org/1.0/docs/migration.html#registration

+0

Ну, это было глупо от меня. Я исправил это и отредактировал свой пост, но мне все еще не повезло с получением чего-либо для показа. – arazzy

0

Не забудьте добавить к вашей index.html, если у вас возникли ссылочный ошибку (полимер не определен)

<link rel="import" href="/bower_components/polymer/polymer.html"> 
Смежные вопросы