O'Reilly logo
  • Garrett Stibb thinks this is interesting:

The child controllers inherit the data value and the behavior, which is why all of the input elements change when you click any of the Reverse buttons, even those implemented by the child controller

From

Cover of Pro AngularJS

Note

The child scopes inherit the property dataValue from topLevelCtrl only if they do not have that property themselves. Once you use a child ctrl function, they have their own dataValue property on their scope. This hides the topLevelCtrl dataValue