web-dev-qa-db-ja.com

キャッチされないDOMException:「CustomElementRegistry」で「define」の実行に失敗しました:この名前はすでにこのレジストリで使用されています

キャッチされないDOMException:「CustomElementRegistry」で「define」の実行に失敗しました:この名前は、このレジストリですでに使用されています http://127.0.0.1:8000/components/@polymer/polymer/lib/elements/dom -module.js:175:16

Node-modulesとpackage-lockを削除して再インストールしようとしましたが、機能しませんでした。

5
bhagya

登録しているカスタム要素の場合は、この名前の要素がまだ登録されていないことを確認してください。明らかに、名前を変更したり、クラスを装飾したりするためのより複雑なロジックを含めることができますが、これは単に既存のAPIを使用して何かがすでに登録されているかどうかを確認し、登録されていない場合は、指定されたものを登録します(私のスタイルでは-あなたは変えることができます、これは単にエラーを一般的に回避する方法を示しています):

customElements.get('the-element') || customElements.define('the-element', HTMLTheElement);

APIの詳細については、 https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry を参照してください。

9
jimmont

まあ、 this は私のために働いた、TypeScriptの警告なしで、

if (!customElements.get('the-element')) { customElements.define('the-element', HTMLTheElement); }

誰かがこれが役に立つと思うことを願っています。

乾杯。

2
Anjana Silva