2016-05-03 9 views
0

私のアプリケーションで、異なるプロパティを持つように変更されているが、このプロパティは動的に作成されるという、私のangularjsコントローラのプロパティがあります。これらの動的に作成されたプロパティのそれぞれに$watchを追加する必要があり、それを行う方法がわかりません。

プロパティは、このように、コントローラ上で作成されます。存在しない場合

function (category, value) { 
      var self = this; 
      if (!self.currentMobileFilters[category]) { 
       self.currentMobileFilters[category] = []; 
      } 
      if (self.isSelectedMobileFilterValue(category, value)) { 
       // Remove 
       self.currentMobileFilters[category] = _.without(self.currentMobileFilters[category], value); 
      } else { 
       // Add 
       self.currentMobileFilters[category].push(value); 
      } 
     }; 

pushFiltercurrentMobileFiltersオブジェクトの上に新しいプロパティを追加します。

function FilterContentController($rootScope, $scope, filterOptions, $state, $stateParams, dataService) { 
      var self = this; 
      this.$scope = $scope; 
      this.currentMobileFilters = {}; 
     } 

が、私は方法pushFilterを持っていますパラメータ名categoryで置き換え、配列をプッシュします。 私がする必要があるのは、currentMobileFiltersに作成された各プロパティの配列の変更を追跡することです。

これは可能ですか?

答えて

3

angle $ watchメソッドは、等価時計のタイプの3番目のパラメータを受け入れます。 $ watchセクションのドキュメントhereを参照してください。

+0

この情報をありがとうございました。それは解決策であり、3番目のパラメータに「true」を追加しました –

関連する問題