問題タブ [stencil-component]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 1 つのページで同じコンポーネントを 2 回使用すると、イベントのリッスンがクラッシュする
プロジェクトでステンシル フレームワークを使用してコンポーネントを作成しています。プロジェクト構造はツリーベースであり、サブコンパクトにもサブコンポーネントがあることを意味します。私は多くの場所でカスタム イベントを使用してきました。
私の懸念は、 parameter でイベントをリッスンするとtarget:body
、同じコンポーネントを 1 つのページで 2 回使用したため、コードが 2 回実行されることです。問題/懸念を示すサンプル コンポーネントを作成しました。
メイン コンポーネントのコード スニペット
サブコンポーネント スニペット
コンポーネントが使用されている HTML ページ
このコードは、イベントを 2 回リッスンする原因のよう @Listen('nameClick', { target: 'body' })
です。
事前に助けてくれてありがとう!!
stenciljs - Stencil: `@Method` をコンポーネントに追加した後、メッセージのない突然のビルド エラー
ここではあまり多くの情報を提供することはできませんが (実際には存在しないため)、これだけです:
突然、関数をステンシル コンポーネントに追加した後@Method
:
コンポーネントは次のエラーでコンパイルを停止しました - 本当に役に立たない - エラー:
注意事項
Promise<void>
エラーメッセージ内の戻り値の型は赤で強調表示されます- このコンポーネント内で機能する他
@Method
の s があります (同じ戻り値の型であっても)。 - 「壊れた」
@Method
ものは、機能するものと構造的に同等です。 - TypeScript コンパイラは何も文句を言わない
- ステンシル コンパイラのみが失敗する
私はすでに試しました...
- この問題についてグーグルに - この問題のヒントは見つかりませんでした
- を削除し
async
て追加するにはreturn Promise.resolve()
- メソッドの名前を変更します(つまり..理由はありません)
- メソッドをクラス内の別の場所に移動する
- メソッド全体を削除します(問題なくコンパイルされます x( )
- デコレータを削除する
@Method
(コンパイル済みですが、もちろん私のメソッドは API から削除されています) node_modules
フォルダを削除して再インストールする
すでにこのエラーが発生したことを覚えていますが、どうやら修正したようです (または、idk)。しかし、もしそうなら、私はその方法を思い出せません。
これをデバッグする方法、またはより良い修正方法を知っている人はいますか?