You can use getValue()
method to achieve what you want to do.
Example:
data = new BehaviorSubject([]);
addData(foo:any):void{
// I'm using concat here to avoid using an intermediate array (push doesn't return the result array, concat does).
this.data.next(this.data.getValue().concat([foo]));
}