While having multiple routed states in angularjs, each of the states are manipulated by separate controllers (in my case), for now i am using view model by this operator. Now i need to know if i have a property in a $scope variable which matches with the property of other state what happens to the scope of other state ?
- 
                    Yes, when a view is destroyed and replaced with another, the old controller and its scope are destroyed. – georgeawg Jun 18 '17 at 16:14
1 Answers
When instantiated controller creates a brand new scope object prototypically linked with parent $scope object. So if you have 2 separate sibling controllers their respective $scope objects are totally separate and have no connection.
The this when using controller with controllerAs syntax will attach properties onto $scope under the controllerAs specified key (if you specified vm in "ng-controller="MyCtrl as vm" then your this.someProp in controller will be pointing to the $scope.vm.someProp). 
Thus technically it makes no difference whether you use this or $scope regarding your particular question.
If you want to have a shared state between the controllers the best approach is to have a service that will expose it, and you will get the state from both controllers injecting that service.
 
    
    - 5,234
- 2
- 21
- 35
 
    