2016-06-14 1 views
1

Я установил новый комплект для начинающих Polymer и имею код ниже.Полимер-приложение, открывающее страницу с ним.

<app-drawer-layout fullbleed> 

     <!-- Drawer content --> 
     <app-drawer> 
      <app-toolbar> 

Как я могу закрыть элемент приложения-ящика при загрузке макета?

Если я вызываю .close() на элементе, когда я должен запустить это? Это не будет работать для готовых или attatched обратных вызовов цикла жизни

Но это означало бы, меню открывается и закрывается, который я хотел бы избежать, то, что я действительно хочу, чтобы это произошло, когда страница загружает меню закрыт,

, когда я получаю обратный вызов от сервера сказать, пользователь авторизирован, то звоните

this.$.menu.open() // where i've given app-drawer the if of menu 

ответ

10

Если то, что вы хотите, чтобы не отображать ящик независимо от ширины окна просмотра, если пользователь не взаимодействует,LL вам нужно сделать, это установить app-drawer-layout «s forceNarrow свойство истинно так:

<app-drawer-layout fullbleed force-narrow> 
    <!-- Content --> 
</app-drawer-layout> 
0

Я предполагаю, что это следование до: Polymer 1.0 App-Drawer - Uncaught TypeError when not rendered via dom-if

Дано:

<app-drawer-layout id="layout" fullbleed> 
    <app-drawer id="drawer"> 
    ... 
    </app-drawer> 
</<app-drawer-layout> 

Вы можете установить <app-drawer>.hidden, а затем <app-drawer-layout>.resetLayout() на основании новой величины signedIn, используя наблюдателя:

Polymer({ 
    ... 
    properties : { 
    signedIn: { 
     type: Boolean, 
     value: false, 
     observer: '_signedInChanged' 
    } 
    }, 
    _signedInChanged: function(signedIn) { 
     this.$.drawer.hidden = !signedIn; 
     this.$.layout.resetLayout(); 
    } 
); 

codepen