1. ホーム
  2. javascript

[解決済み] デコレーター」とは何ですか、どのように使うのですか?

2022-05-09 05:37:53

質問

AngularJSのデコレーターとは一体何なのか、興味があります。デコレータに関する情報はあまりありません。 AngularJSのドキュメント の中で簡単に(面白いけど)触れています。 ユーチューブビデオ .

Angularの人たちが言うように、デコレーターは

サービスの装飾、デコレーターがサービスを傍受することを可能にします。 インスタンスを生成します。返されるインスタンスは、元のインスタンスである可能性があります。 または、元のインスタンスに委譲する新しいインスタンスです。

というのがよくわからないのですが 意味 また、このロジックをサービス自体から切り離す理由もよくわかりません。例えば、異なる条件下で異なるものを返したければ、関連する関数に異なる引数を渡すか、そのプライベートな状態を共有する別の関数を使用すればいいだけです。

私はまだAngularJSの初心者なので、きっと無知か悪い癖を拾ってしまっただけなのでしょう。

どのように解決するのか?

の良い使用例です。 $provide.decorator は、あなたのモジュールが依存しているサードパーティ/アップストリーム・サービスに対して、サービスをそのままにしながら (あなたがサービスのオーナー/メンテナーではないので) ちょっとした "tweak" を行う必要があるときです。 これ はplunkrでのデモです。