問題タブ [proxy-pattern]
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 - HTMLElement を拡張する WebComponent のコンストラクターをプロキシする
したがって、カスタム要素を使用する私が作成しているライブラリでは、CustomElementsRegistry
インスタンス化する前にクラスを定義する必要があることは明らかです。
現在、これはデコレータで解決されています。
これは機能しますが、クラスのインスタンス化時にカスタム要素を自動的に登録したいと思います(作成者が作成するすべてのコンポーネントにデコレータを追加する必要がないように)。これは、Proxy
.
ただし、私の問題は、コンストラクターで Proxy を使用しようとして、ターゲットのインスタンスを返そうとするとIllegal Constructor
、要素がレジストリで定義されていないかのように、まだ取得されることです。
これは明らかに、プロキシ内でクラスをインスタンス化する方法に関係していますが、それ以外の方法はわかりません。私のコードは次のとおりです。
最新の Chrome で実行してください:
例外MyElement
をスローしないようにクラスをインスタンス化しているという事実のコンテキストを失うことなく、プロキシ内で継承のチェーンを続行するにはどうすればよいですか?Illegal Constructor
javascript - JavaScript でプロキシを実装する場合の親へのメソッド委譲
Node.js デザイン パターンの例
プロトタイプチェーンが設定されているため、元の Object からのメソッドが自動的に呼び出される場合、 つまりProxy.prototype.goodbyeメソッドを再度再定義する必要があります。前もって感謝します。
python - モンキー パッチ メソッドを使用したインスタンス プロキシ
モンキー パッチを適用したメソッド/フィールドを使用して、インスタンスへの「プロキシ」を作成する方法が必要です。
- コンテキスト マネージャーを使用したり、インスタンスを直接変更したりしたくありません。
- 継承を使用できません。インスタンスが与えられているだけです。
それを可能にするパッケージを知っていますか?
必要な機能を示す非常に大まかな試みは次のとおりです。