title: Watcher on an object is better or on its attributes?
body: <p>Am creating a dynamic filter on tables just like phpMyAdmin.</p>
  
  <p><a href="https://i.stack.imgur.com/MnB7I.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/MnB7I.png" alt="enter image description here"></a></p>
  
  <p>Here I have created an array and used ng-repeat to have filter on multiple columns.
  Initially array is empty and am pushing an object on clicking on plus button.</p>
  
  <p>Now Based on user's column preference, I want to show appropriate input field like if user selects 'created_by', input field should be converted to datetime type. For this I am using a different directive where input field would be converted according to column and filter.</p>
  
  <p>Thats why I want to watch column and filter of each row, which is attribute of object of that array.</p>
  
  <pre><code>var filterArr = [];
  
  var filterObj = {
                  selectField: self.dictionary,
                  filterField: [],
                  column:{},
                  filter:{},
                  inputField: null,
              }
  
  //On Plus button click
  filterArr.push(angular.copy(filterObj));
  </code></pre>
  
  <p>So each row has object structure of filterObj and out of which I want to watch column and filter.</p>
  
  <p>Watcher on object of particular element is appropriate or I should use two seperate watcher on column and filter attribute?</p>