I believe that ion-footer and ion-content creates a new input area, which is prototypically inerherit from the current area. The ion code below will give you a better illustration of how it works inside, scope: true, is responsible for creating a new child region.
the code
.directive('ionContent', [ '$parse', '$timeout', '$ionicScrollDelegate', '$controller', '$ionicBind', function($parse, $timeout, $ionicScrollDelegate, $controller, $ionicBind) { return { restrict: 'E', replace: true, transclude: true, require: '^?ionNavView', scope: true,
You must use annotation . which will fix your problem.
Eg.
If you use the variable as primitive, for example
$scope.volume = 5
Then you need to use:
$scope.data = { 'volume' : 5}
Angular Inheritance Visibility Prototype
source share