私は要素を作成し、それをインポートし、データで属性を設定します。要素がインポートされずに作成されていない場合にのみ、コードを実行します。 は、関数が呼び出されたとき、私は次のエラーを取得する:何が起こっているPolymer 2.0 createElementを作成し、Polymer.importHrefでインポートし、setAttributeでデータを渡します。
this._dialogPopUp.open is not a function
は要素が作成され、インポートする前this._dialogPopUp.open();
が実行されているということです。 2回目にボタンを押すと、ポップアップが作成され、以前にインポートされたために機能します。要素の作成とインポートを待ってから、実行を続行するにはどうすればよいですか?
は現在、私はこの実装を持っている:
_loadDialogPopUp(e) {
let me = this;
if(!me._dialogPopUp){
me._dialogPopUp = document.createElement('su-dialog');
Polymer.importHref(this.resolveUrl('su-dialog.html'), (e) => {
this.root.appendChild(this._dialogPopUp);
});
}
customElements.whenDefined('su-dialog').then(() => {
me._dialogPopUp.open();
me._dialogPopUp.setAttribute('uid', this.user.uid);
})
}
ありがとう参照、右方向そうです。私は 'customElements.whenDefined'を実装するコードを更新しました。新しく作成された要素の参照を取得するにはどうすればよいですか? –