Rx.Observable.of(value)
создает поток, который содержит одно событие с value. Это совсем не про изменения.
От шаблона, который вы хотите применить, в Angular2 уходят, в сторону реактивности.
У компонентов в Angular2 есть input-свойства, изменения которых можно отслеживать с помощью life-cycle callback, конкретно интерфейс OnChanges. Выглядеть будет примерно так:
@Component({selector: 'my-component', template: '<span>{{text}}</span>'}}
class MyComponent implements OnChanges {
public text: string;
@Input() changeMe: string;
ngOnChanges(changes) {
this.text = Date.now().toString();
}
}
Предположим, что в компоненте верхнего уровня у вас есть:
<my-component [changeMe]="someValue"></my-component>
Изменяя someValue вы изменяете input-атрибут changeMe компонента MyComponent. При каждом изменении будет срабатывать ngOnChanges.
Еще одно замечание - если в качестве значения вы передаете объект, то не надо его мутировать. Создавайте новый объект и присваивайте заново.
this.someValue = {value: 1, anotherValue: 2};
this.someValue = Object.assign({}, this.someValue, {value: 2}); // {value: 2, anotherValue: 2} // Но тут this.someValue это ссылка уже на другой объект.