Polymer 1.0 App-Drawer - 未通过 dom-if 呈现时未捕获的类型错误

Polymer 1.0 App-Drawer - Uncaught TypeError when not rendered via dom-if

只向会员显示菜单 我有这段代码

<app-drawer-layout fullbleed>

  <!-- Drawer content -->
  <template is="dom-if" if="{{signedIn}}">
   <app-drawer>
   ....

这仅在用户登录到应用程序时显示菜单。它工作正常,但无论如何都可以消除它在控制台中导致的错误。

错误:

polymer-mini.html:2046 Uncaught TypeError: Cannot read property 'getWidth' of undefined

<app-drawer-layout>requires an <app-drawer> to determine the appropriate container margins中的布局逻辑。我没有看到禁用该逻辑的选项。

您看到的错误的解决方法是通过将 dom-if 移动到 <app-drawer>:

中来创建一个空的 <app-drawer>
<app-drawer>
  <template is="dom-if" if="{{signedIn}}">
    ...
  </template>
</app-drawer>

不幸的是,这会在用户登录之前创建一个空白抽屉,但这对于您的应用来说也许是可以接受的。 codepen