You can use the parentScope parameter to make popover coverage a stream of the AppController scope:
module.controller('AppController', function($scope) { ons.createPopover('popover.html', {parentScope: $scope}); });
You now have several options for interacting between areas. Since the popover scope is a descendant of the AppController scope, you can, for example, use $scope.$emit() to generate events when the value changes:
module.controller('AppController', function($scope) { $scope.greeting = 'Hello!'; ons.createPopover('popover.html', {parentScope: $scope}).then(function(popover) { $scope.popover = popover; }); $scope.$on('update', function(event, value) { $scope.greeting = value; }); }) .controller('PopoverController', function($scope) { $scope.$watch('greeting', function(value) { $scope.$emit('update', value); }); });
I made a simple example: http://codepen.io/argelius/pen/avmqOP
You can also use ngModel to access the value, but keep in mind that this is actually grandparents, so in this case you need to do ng-model="$parent.$parent.greeting" , which is not very nice.
I would recommend an approach to events.
source share