聚合物中的2个布局(即:Main-App,Signup)

时间:2016-09-28 00:46:37

标签: polymer polymer-1.0

在PSK中,index.html引用了my-app.html模板。在那里我有我的主要布局app-drawer,header ect ..

我如何拥有一个没有该模板的页面,例如带有登录字段的居中卡片。

我是否以某种方式使用my-app.html只为每个包含嵌套布局?

index.html
-my-app.html
--main-shell.html (main content with iron-pages)
--blank.html (for signup/login)

感谢。

1 个答案:

答案 0 :(得分:1)

我向那些提出问题的人建议,在my-app元素下面创建一个处理身份验证的my-session元素和一个my-pages元素来管理应用程序本身。在my-session内,如果需要,我取消隐藏登录元素(我允许具有经过身份验证的cookie的用户无需登录即可访问该应用程序。)

我的my-app大纲就像这样

<app-header-layout>
  <app-header
    fixed
    effects="waterfall">
    <app-toolbar>
       ...
     </app-toolbar>
  </app-header>
  <my-session id="session" user="{{user}}"></my-session>
  <my-pages
    id="pages"
    user="[[user]]"
    unresolved
    hidden="[[!isLoggedOn]]" >APPLICATION LOADING</my-pages>
</app-header-layout>

my-session然后有一个my-login元素,其中包含以页面中间paper-card为中心的登录表单

这是通过

完成的
<dom-module id="my-session">
  <template>
  <style>
    [hidden] {
      display: none!important;
    }
  </style>
    <iron-ajax
      id="validateuser"
      url="/api/validate_user"
      handle-as="json"
      method="POST"
      body="{}"
      content-type="application/json"
      on-response="_validated"></iron-ajax>
    <iron-ajax
      id="logoff"
      url="/logoff"
      body="{}"
      handle-as="json"
      method = "POST"
      content-type="application/json"></iron-ajax>
    <my-waiting waiting="[[waiting]]"></my-waiting>
    <my-logon user="{{user}}" hidden="[[!needsLogon]]"></my-logon>
  </template>
  <script>...</script>
</dom-module>

iron-ajax请求是验证用户cookie(我仍然要求服务器验证它,因为它包含加密的令牌)并记录用户。这一切都是用javascript处理的,我没有表现出来(为了简单起见)。