title: Angular2 watch object/array changes (Angular2 final >= 2.1.1)
body: <p>I'd like to watch an object/array, which ca be edited by a service or by a controllers routine. I thought that an Observable could watch an object/array. </p>
  
  <p>My implementation doesn't react on changes of the items :</p>
  
  <pre><code>  private data : Observable&lt;Array&lt;any&gt;&gt;;
    private dataObserver: Observer&lt;Array&lt;any&gt;&gt;;
    private sub : Subscription;
    private items: &lt;Array&lt;any&gt;&gt;;
  
    ngOnInit() {
       this.items = itemService.getItems();
       this.data = new Observable&lt;Array&lt;any&gt;&gt;(observer =&gt;{
          this.dataObserver = observer;
       });
       this.data.subscribe(
          x =&gt; console.log('onNext: %s', x),
          e =&gt; console.log('onError: %s', e),
          () =&gt; console.log('onCompleted')
       );
       this.dataObserver.next(this.items);
    }
  
  
  private start(){
  
    //change values of the array in an interval
    let loop = Observable.interval(250)
    let i=0;
    self.sub = loop.subscribe(() =&gt; {
        if(self.items[0]){
          self.items[0].id= i;
          if(i&lt;100) i++;
          else i=1;
        }
    })
  }
  </code></pre>
  
  <p>The observalbes subsciption doesn't react on changes of the items array. It only triggers on its next mehtod. On the other hand .. this is too cumbersome for a simple watch method.</p>
  
  <p>What does angular-2 offer us to watch for changes, as $scope.$watch did in angular-1?</p>