Angular2 watch object/array changes (Angular2 final >= 2.1.1)
<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>