This is what I've got so far. First the script:
ons.bootstrap();
.controller('AppController', function($scope) {
$scope.greeting = "Hello!";
ons.createPopover('popover.html').then(function(popover) {
$scope.popover = popover;
popover.on('preshow', function() {
popover._scope.greeting = $scope.greeting;
});
popover.on('posthide', function() {
$scope.greeting = popover._scope.greeting;
$scope.$apply();
});
});
});
And the page:
<ons-page ng-controller="AppController">
<ons-toolbar>
<div class="center">Popover</div>
</ons-toolbar>
<div style="margin-top: 100px; text-align: center">
<ons-button modifier="light" ng-click="popover.show($event)">Show popover</ons-button>
</div>
<div style="margin-top: 100px; text-align: center">{{greeting}}</div>
</ons-page>
<ons-template id="popover.html">
<ons-popover direction="up down" cancelable>
<div style="text-align: center; opacity: 0.8;">
<input style="margin: 20px" type="text" ng-model="greeting" />
</div>
</ons-popover>
</ons-template>
This seems to work for me, but I'm not sure about the popover._scope
part. Is it supposed to be accessed like that? I can't seem to find any other way.
So what is the idiomatic way to do this? And what are some good examples?
Thank you.