我已经找到了Polymer 1样品,我想在Polymer 2应用程序中使用它。
<app-header-layout>
<app-header fixed effects="waterfall" slot="header">
<app-toolbar>
<paper-icon-button id="toggle" icon="menu"></paper-icon-button>
<div main-title>Inbox</div>
</app-toolbar>
</app-header>
<app-drawer-layout id="drawerLayout">
<app-drawer slot="drawer">
...
</app-drawer>
<sample-content size="100"></sample-content>
</app-drawer-layout>
</app-header-layout>
<script>
var drawerLayout = document.getElementById('drawerLayout');
toggle.addEventListener('click', function() {
if (drawerLayout.forceNarrow || !drawerLayout.narrow) {
drawerLayout.forceNarrow = !drawerLayout.forceNarrow;
} else {
drawerLayout.drawer.toggle();
}
});
</script>
对于Polymer 2,必须更改的一小部分只是底部的js代码,但是由于我是Polymer和js的新手,所以我之前所有尝试将代码更改为新的ES6语法的尝试都没有成功。
任何帮助将非常感激!
最佳答案
该元素定义与该JavaScript的Polymer 2.0等效项(在ES6中)相同:
class XFoo extends Polymer.Element {
static get is() { return 'x-foo'; }
ready() {
super.ready();
const drawerLayout = this.$.drawerLayout;
this.$.toggle.addEventListener('click', () => {
if (drawerLayout.forceNarrow || !drawerLayout.narrow) {
drawerLayout.forceNarrow = !drawerLayout.forceNarrow;
} else {
drawerLayout.drawer.toggle();
}
});
}
}
demo