問題タブ [angular-decorator]
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 - AngularJS デコレータ IE7
関連する質問: object.defineProperty を使用しない AngularJS デコレーター
デコレータを適用する標準的な方法は with のようですobject.defineProperty
が、IE7 ではサポートされていません。
には、いくつかのポリフィル オプションがありますobject.defineProperty
。
また、いくつかの興味深い結果が得られたplunkrでいくつかの実験を行いました。
私の質問は次のとおりです。この回答が示すように、rootScope にメソッドを提供する正しい方法はどれですか。
angularjs - 関数の代わりにプロバイダーを使用して $log サービスを装飾する方法
ログを http 経由でバックエンドに送信するために、angularjs で $log サービスを装飾しようとしています。私はこのようなものを使用してこれを行うことができました:
これは問題ありませんが、デリミタ、リモート API URL などを設定するために、モジュールの構成フェーズで構成できるように、プロバイダをデコレータとして使用することをお勧めします。
次のようなプロバイダーを作成してみました。
そして、次のようなことをします:
しかし、実際の $delegate をプロバイダー内で渡し、デコレーターに返す方法について混乱しています。
angularjs - $log デコレータでサーバー側の設定にアクセスする方法
私は次のルーティングを持っています - これはホーム(メインページ)の一部です:
フローは次のとおりです。メイン ページが読み込まれる前にサーバーから構成を読み込み、そこで使用できるようにします。
さらにdecorator
、「$log」サービスに使用します。
ここで、質問: ルーティング解決にロードされた構成を my 内で使用するにはどうすればよい$log
decorator
ですか?
サーバーから適切な構成が届くまで、デコレーターでデフォルト構成を使用してもかまいません。
Circular 依存関係$http
を使用する、またはその$resource
ために、サービスを使用する方法が見つからないようです
デコレータを手動/問題なく初期化する方法はありますか?
dart - デコレータ(スコープ)/ウォッチ関数が呼び出されない
ここに私のデコレータがあります:
そして、対応する HTML スニペットは次のとおりです。
「変更されました」というメッセージは、ページをリロードした後にのみ表示されますが、ビューを変更した後では表示されません... Pls. ヘルプ - thx
【アップデート】
私は今 _router.onRouteStart.listen を使用しています。以下の私の回答の詳細
angularjs - Angular-UI Bootstrap モーダルの装飾
Angular-UI Bootstrap Modal が提供する機能の約 90% を構築中の機能があります。唯一の違いは次のとおりです。
- モーダルは、コンテナの div に対して相対的に配置する必要があります (スタイリングの側面は で既に処理しました
windowClass
) 。
問題は、次のようにcallを$modalStack service
ハードコードするbody.append
ことです。
各サービスのメソッドを単純にコピーして貼り付けopen
(openWithinElement に名前を変更)、機能させるために必要なものを変更することから始めました。ご覧のとおり、アプリを実行すると、$q 依存関係が定義されていないというエラーがスローされます。わかりました、それは理にかなっていると思います。
次に、provider.decorator
メソッドに依存関係を追加しました。これにより、すべての依存エラーが回避されました。しかし、その後、別のエラーが発生しましたfunction getTemplatePromise is undefined
...もちろん、定義されていません。サービスの内部メソッドです。
その時、私は本当に立ち往生しました。サービス内のすべてのプライベート関数/オブジェクト/小道具を再定義せずに、このサービスを新しい方法で装飾することは不可能に思えます。
そうですか?
[追加する編集] 最終的にはupdateParentElement
メソッドでサービスを装飾することになり、モーダルは渡された要素に移動し、.opened promise で実行されました。ハックですが、機能しますが、デコレータに欠けているものがあることを願っています。[/編集]
angularjs - $timeout のラッパーであるデコレータをテストするにはどうすればよいですか?
$timeout
内からオリジナルをラップする次のデコレータがあります$rootScope
。$timeout
コントローラー内で使用すると、スコープが破棄されたときに約束をキャンセルするのに役立ちます。
しかし、これを適切に単体テストするにはどうすればよいですか? ここで行うべき 2 つのテストがあるようです... 1)$timeout
が呼び出されたときにオリジナルが呼び出された$rootScope.timeout()
かどうかを確認し、2) スコープが破棄されたときにプロミスがキャンセルされたかどうかを確認します。
これに対する私の現在のテストスイートは次のとおりです。
これが行う唯一のことは、100%のカバレッジを提供することです. しかし、それは私が望むものではありません.これを適切にテストするにはどうすればよいですか?
angularjs - Angular で $modalInstance を装飾する方法
作成時にすべてのモーダルインスタンスを傍受し、その約束値にバインドする方法は可能ですか、それとも現在ありますか?
これを行うために Angular デコレーターを作成したいのですが、アプリケーションのブートストラップで利用できる $modalInstance プロバイダーはなく、利用できるのは $modal だけです。
アプリケーションでモーダルが開かれるたびに、いくつかの一般的なシステム全体の操作を実行するために、これを行いたいと思います。
ありがとう