問題タブ [angularjs-provider]
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.
angularjs - AngularJS - プロバイダー、サービス、工場を外部から汚染する
スコープにのみ割り当てていると思っていたプロパティで、意図せずサービスを汚染してしまいました。例:
この動作を示す Plunker を次に示します。
https://plnkr.co/edit/nDkNfKmQRtcBuJ0NUcHo?p=preview
オブジェクトを関数に渡す場合、JavaScript は参照渡しであることを私は知っています。これは、それらのオブジェクトがディープ クローンされていない限りです。
私は、サービスの外部の何かが、そのサービスによって公開されたオブジェクトなどにアクセスできるが、値によってのみアクセスできると想定していました。そのサービスへの変更は、そのサービスによって提供される API によって行われる必要があります。これを行う唯一の方法はangular.copy
、上記の例で例を使用することですtestCtrl.testService = angular.copy(testService);
これは意図した動作に違いないと思います。もしそうなら、パフォーマンス上の利点を除いて、これは欠点だと思います。
AngularJS が「ブラックボックス」プロバイダーではなく、この動作を許可するのはなぜですか?
javascript - angular プロバイダー エラー - $get ファクトリ メソッドを定義する必要があります
このコーヒー スクリプト コードは角度プロバイダーを作成しようとしていますが、次のメッセージが表示されます: プロバイダー 'ItemsProvider' は $get ファクトリ メソッドを定義する必要があります。
$get メソッドを設定しました。何が起こっているのか考えていますか?
次のメッセージでロードに失敗します。
編集: これは生成されたJavaScriptです:
angularjs - Angularjs : 異なるモジュールで共通のサービスを使用する
異なるモジュールに同じサービスを使用しようとしています。多くのモジュールがあるので、親モジュールにそれらを注入しようとしました。このようなもの:
n 個のモジュール すべてに共通のサービスは次のようになります。
現在、すべてのサブモジュールでこのサービスを使用する方法がわかりません。
このサービスをどのモジュールに関連付けるべきですか?
やってみapp.service('myService',function(){...})
ましたが、うまくいきませんでした。
どこが間違っていますか?
EDIT 1:さらに、 service
を使用して、これらすべてのサブモジュールと変数を共有しようとしています。変数を共有するサービスを使用して正しいことを行っているのか、このジョブに プロバイダーまたはファクトリを使用する必要があるのか わかりません。
EDIT 2:
これらのリンクを見つけましたが、答えを把握できませんでした。それらを参照して、私の答えを提供してください
AngularJSの複数のモジュール間で変数を共有する方法
異なるモジュールにあるコントローラー間で変数を渡す
angularjs - angularjs コンポーネントで解決を使用する
ページをレンダリングする前に、顧客のリストを解決しようとしています。
ここに解決メソッドがある状態プロバイダーの参照があります。
コンポーネントが続き、解決から #test を呼び出す必要があります。コンソールに「nihao」という単語を出力するだけです。
ただし、次のエラーが発生し続けます。
解決関数が実行されていることがわかりますが、それは機能しますが、メソッドは挿入されません! 何か案は?