我在ng- init上调用一个函数,并且在该页面上单击按钮将新页面推到导航器的pageStack上。在子页面中,我弹出当前页面。现在,当从页面堆栈中删除子页面时,我想重新加载父页面。
这是代码:
的HTML
<ons-navigator var="nav" page="page1.html"> </ons-navigator> <ons-template id="page1.html"> <ons-page ng-controller="pageOneController" ng-init="reload()"> <ons-toolbar> <div class="center">Page 1</div> </ons-toolbar> <ons-button ng-click="nav.pushPage('page2.html')">Push Page</ons-button> </ons-page> </ons-template> <ons-template id="page2.html"> <ons-page> <ons-toolbar> <div class="center">Page 2</div> </ons-toolbar> <ons-button ng-click="nav.popPage();">Pop Page</ons-button> </ons-page> </ons-template>
AngularJS
module.controller('pageOneController', function(){ $scope.reload = function(){ console.log('Page one controller reloaded'); } });
更新资料
一种解决方案是通过使用重新加载应用
window.location.reload(true);
您可以使用新的pageReplace()随附新温泉UI 1.3.0。您可以将其传递给这样的回调popPage():
pageReplace()
popPage()
$scope.popAndReplace = function() { $scope.nav.popPage({onTransitionEnd : function() { $scope.nav.replacePage('page1.html', { animation : 'none' } ); }}) };
在这里工作:http : //codepen.io/frankdiox/pen/gbJGZw
希望能帮助到你!