問題タブ [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.

0 投票する
1 に答える
51 参照

javascript - 1 つのページで同じコンポーネントを 2 回使用すると、イベントのリッスンがクラッシュする

プロジェクトでステンシル フレームワークを使用してコンポーネントを作成しています。プロジェクト構造はツリーベースであり、サブコンパクトにもサブコンポーネントがあることを意味します。私は多くの場所でカスタム イベントを使用してきました。

私の懸念は、 parameter でイベントをリッスンするとtarget:body、同じコンポーネントを 1 つのページで 2 回使用したため、コードが 2 回実行されることです。問題/懸念を示すサンプル コンポーネントを作成しました。

メイン コンポーネントのコード スニペット

サブコンポーネント スニペット

コンポーネントが使用されている HTML ページ

このコードは、イベントを 2 回リッスンする原因のよう @Listen('nameClick', { target: 'body' })です。

デモ用GIF

事前に助けてくれてありがとう!!

0 投票する
1 に答える
197 参照

stenciljs - Stencil: `@Method` をコンポーネントに追加した後、メッセージのない突然のビルド エラー

ここではあまり多くの情報を提供することはできませんが (実際には存在しないため)、これだけです:

突然、関数をステンシル コンポーネントに追加した後@Method:

コンポーネントは次のエラーでコンパイルを停止しました - 本当に役に立たない - エラー:

注意事項

  • Promise<void>エラーメッセージ内の戻り値の型は赤で強調表示されます
  • このコンポーネント内で機能する他@Methodの s があります (同じ戻り値の型であっても)。
  • 「壊れた」@Methodものは、​​機能するものと構造的に同等です。
  • TypeScript コンパイラは何も文句を言わない
  • ステンシル コンパイラのみが失敗する

私はすでに試しました...

  • この問題についてグーグルに - この問題のヒントは見つかりませんでした
  • を削除しasyncて追加するにはreturn Promise.resolve()
  • メソッドの名前を変更します(つまり..理由はありません)
  • メソッドをクラス内の別の場所に移動する
  • メソッド全体を削除します(問題なくコンパイルされます x( )
  • デコレータを削除する@Method(コンパイル済みですが、もちろん私のメソッドは API から削除されています)
  • node_modulesフォルダを削除して再インストールする

すでにこのエラーが発生したことを覚えていますが、どうやら修正したようです (または、idk)。しかし、もしそうなら、私はその方法を思い出せません。

これをデバッグする方法、またはより良い修正方法を知っている人はいますか?