在使用 Polymer 和 JavaScript 进行开发时,我还是个新手,我觉得我切换纸质对话框的方式不是最好的方式,或者可以改进。目前,我尝试从自定义元素外部调用 toggle() 函数,尽管我收到错误消息,但它对我有用,
我创建了一个名为 my-dialog 的自定义元素:
<dom-module id="my-dialog">
<template>
<style>
:host {
display: inline-block;
}
</style>
<paper-dialog id="popUp" with-backdrop on-iron-overlay-opened="patchOverlay">
<!-- Dialog content -->
<h2>Hello World</h2>
</paper-dialog>
</template>
<script>
Polymer({
is: 'my-dialog',
});
</script>
</dom-module>
从我的一个页面上,我现在想在单击纸质按钮时打开和关闭对话框。它工作正常,但正如我上面提到的,我觉得我在那里做的事情并不专业。
<dom-module id="my-profile-view">
<template>
<style>
:host {
display: block;
}
</style>
<paper-fab icon="create" id="myBtn" on-tap="toggleDialog"></paper-fab>
<my-dialog id="myDialog"></my-dialog>
</template>
<script>
Polymer({
is: 'my-profile-view',
//Open dialog
toggleDialog: function() {
var dialog = this.shadowRoot.querySelector('#myDialog');
var popUp = dialog.shadowRoot.querySelector('paper-dialog');
popUp.toggle();
},
});
</script>
</dom-module>
错误消息。我进入我的控制台:
(程序):5 未捕获的类型错误:无法读取 null 的属性“removeAttribute”(匿名函数)@(程序):5(匿名函数)@(程序):20
如果有人可以为我解决问题,那就太好了。也许给我一个提示,我还能做什么。