2017-05-04 127 views
1

我正在使用聚合物和aurelia,並有一個從側面打開的菜單。但是,當我在手機中點擊菜單中的項目後,它不會自動關閉。點擊後紙盤抽屜不會關閉菜單

<paper-item if.bind="!authenticated" class="login" style="padding-left:10px"> 
    <a paper-drawer-toggle href="/login" class="nav-link"> 
     <span class="fa fa-sign-in"></span> 
     <span if.bind="fullmenu" class="nav-item">Login</span> 
    </a> 
</paper-item> 

回答

2

這是完整的解決方案:

<paper-item if.bind="!authenticated" class="login" style="padding-left:10px"> 
    <a paper-drawer-toggle href="/login" class="nav-link" click.delegate="close()"> 
    <span class="fa fa-sign-in"></span> 
    <span if.bind="fullmenu" class="nav-item">Login</span> 
    </a> 
</paper-item> 

,然後這是JavaScript

close() { 
    if (!this.widescreen) { 
     let drawer = document.getElementById('drawerPanel'); 
     drawer.closeDrawer(); 
    } 
} 

這是鏈接到聚合物的文檔,我們發現我們需要 https://www.webcomponents.org/element/PolymerElements/paper-drawer-panel/paper-drawer-panel#methods

答案
+0

我已經使這一個最好的答案,因爲這是實際解決問題的解決方案。 –

+0

不客氣。 – Tom

2

我不能得到paper-drawer-toggle工作,並且不得不創建一個函數來處理它;

close() { 
    let drawer = document.getElementById('drawerPanel'); 
    drawer.toggle(); 
    return true; 
} 

然後,只需將該功能添加到click.trigger;

<paper-item if.bind="!authenticated" class="login" style="padding-left:10px"> 
    <a paper-drawer-toggle href="/login" class="nav-link"> 
     <span class="fa fa-sign-in"></span> 
     <span if.bind="fullmenu" class="nav-item">Login</span> 
    </a> 
</paper-item> 
+1

這個偉大的工程。唯一的問題是,drawer.toggle()該元素沒有被定義。我反而需要的是drawer.closeDrawer()和drawer.openDrawer()。當我這樣做的時候,這一切都很好。 –