Alternative to bind with $rootScope?

In my project, I have a list in a page that I fill in using ng-repeat with a rootcope variable. From another page, i change the value of this variable, then the list is updated without problems. But I think this is not a good practice and I need an alternative.
I have tried to use another solution, for example using services to share data between controllers, but although it works and I can actually update the variable from different drivers, the list value is not refreshed in real time, I have to force the refresh.
Someone can help me please?