1

ポリマー スターター キットと同じように、page.js を使用してポリマーの単一ページの Web サイトを作成しています。ルーティングに紙メニューを使用する代わりに、紙タブを使用しています。

ルーティングは機能していますが、紙タブを紙タブのように見せることはできません。それらはリンクのように見え、下部に選択バーが表示されません。

私が間違っていることは何か分かりますか?

index.html

<!-- Main Toolbar -->
    <paper-toolbar id="mainToolbar" class="medium-tall">
      <!-- Application name -->
      <div class="app-name">Website</div>

      <span class="space"></span>

      <!-- Toolbar icons -->
      <paper-icon-button icon="refresh"></paper-icon-button>
      <paper-icon-button icon="search"></paper-icon-button>

      <!-- Application tabs -->
      <paper-tabs class="bottom" attr-for-selected="data-route" selected="[[route]]">
        <paper-tab link>
          <a data-route="home" href="{{baseUrl}}">
            <iron-icon icon="home"></iron-icon>
            <span>Home</span>
          </a>
        </paper-tab>
        <paper-tab link>
          <a data-route="artist" href="{{baseUrl}}artist">
            <iron-icon icon="home"></iron-icon>
            <span>Artist</span>
          </a>
        </paper-tab>
        <paper-tab link>
          <a data-route="teacher" href="{{baseUrl}}teacher">
            <iron-icon icon="home"></iron-icon>
            <span>Teacher</span>
          </a>
        </paper-tab>
        <paper-tab link>
          <a data-route="research" href="{{baseUrl}}research">
            <iron-icon icon="home"></iron-icon>
            <span>Research</span>
          </a>
        </paper-tab>
        <paper-tab link>
          <a data-route="contact" href="{{baseUrl}}contact">
            <iron-icon icon="mail"></iron-icon>
            <span>Contact</span>
          </a>
        </paper-tab>
      </paper-tabs>
    </paper-toolbar>

    <!-- Main Content -->
    <div class="content">
      <iron-pages attr-for-selected="data-route" selected="{{route}}">
        <section data-route="home">
          <paper-material elevation="1">
            <my-greeting></my-greeting>

            <p class="subhead">You now have:</p>
            <my-list></my-list>

            <p>Looking for more Web App layouts? Check out our <a href="https://github.com/PolymerElements/app-layout-templates">layouts</a> collection. You can also <a href="http://polymerelements.github.io/app-layout-templates/">preview</a> them live.</p>
          </paper-material>
        </section>

        <section data-route="artist">
          <paper-material elevation="1">
            <h2 class="page-title">Users</h2>
            <p>This is the users section</p>
            <a href$="{{baseUrl}}users/Addy">Addy</a><br>
            <a href$="{{baseUrl}}users/Rob">Rob</a><br>
            <a href$="{{baseUrl}}users/Chuck">Chuck</a><br>
            <a href$="{{baseUrl}}users/Sam">Sam</a>
          </paper-material>
        </section>

        <section data-route="teacher">
          <paper-material elevation="1">
            <h2 class="page-title">User: {{params.name}}</h2>
            <div>This is {{params.name}}'s section</div>
          </paper-material>
        </section>

        <section data-route="contact">
          <paper-material elevation="1">
            <h2 class="page-title">Contact</h2>
            <p>This is the contact section</p>
          </paper-material>
        </section>
      </iron-pages>
    </div>
4

1 に答える 1

1

私はあなたの問題を理解したと思います。タブをクリックすると、クリックして選択したタブの状態が保存されません。

この回答は、javascript/jquery で DOM 要素をクリックした後にアドレス バーの URL を変更するという問題を部分的に明確にします。

Polymerでも同じ問題がありますが、メニュー項目があります。次の方法で解決できると思います。

1)。page.js の代わりにapp-routerを使用し、pushstate モードを追加しますmode='pushstate'

2)。app-router を含める前に、ページに pushstate-anchor を含めます<link rel="import" href="../bower_components/pushstate-anchor/pushstate-anchor.html">。これにより、すべてのリンクが保存され、ページのリロードは行われません。

于 2016-03-16T08:42:08.130 に答える