0

次の基本構造を持つアプリがあります。

weatherDisplayController.js
  weatherGrabbingService.js
  userColorPreferencesService.js

ユーザーが天気を表示するために色の設定を変更すると、それはに保存されます userColorPreferencesService.js.

ただし、すべての友達のダッシュボードを表示できる別のビューを追加したいと思います。これは、モジュールの新しいマイクロ インスタンスを作成することを意味します。ただし、そうすると、サービスの色設定が上書きされます。

1 つのページに同じモジュールの複数のインスタンスを表示するにはどうすればよいですか?

4

2 に答える 2

0

変化するデータのみが、ページのその部分の範囲にある必要があります。データをサービスに格納する代わりに、データを各スコープに格納し、必要なデータをサービスに渡すことができます。

于 2014-04-10T19:26:59.700 に答える
0

これは、サービスがシングルトンであるためです。その既存のインスタンスは 1 つだけです。

colorservice 内のコンストラクターを oop クラスとして作成し、それらの複数をサービス自体に格納することもできます。

function ColorPreferences(){
  //any data
} 

app.service("userColorPreferencesService", function(){
  this.ownColors = new ColorPreferences({ /* data goes here */});
  this.buddyColors = [];
});

//in your controller, when sharing actived
userColorPreferencesService.buddyColor = new ColorPreferences({ /* data from ajax? */});
于 2014-04-10T19:21:38.030 に答える