Listening to data change on service

How can I listen to a change in my variable inside my service so that i can sync it on all of my controllers.

I tried using:


$scope.$watch(Room.all(), function (newVal) {
    console.log('new', newVal);


    'use strict';
        .factory('RoomSrv', RoomSrv);

   RoomSrv.$inject = [];

function RoomSrv() {

    var rooms = {};

    return {
        all: all,

    function all() {
        return rooms;


but this returns undefined. It doesn’t get my service’s data.