一尘不染

AngularJS OnsenUI在子页面的nav.popPage()上重新加载父页面

angularjs

我在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);

阅读 318

收藏
2020-07-04

共1个答案

一尘不染

您可以使用新的pageReplace()随附新温泉UI
1.3.0
。您可以将其传递给这样的回调popPage()

$scope.popAndReplace = function() {
  $scope.nav.popPage({onTransitionEnd : function() {
     $scope.nav.replacePage('page1.html', { animation : 'none' } );
  }})
};

在这里工作:http :
//codepen.io/frankdiox/pen/gbJGZw

希望能帮助到你!

2020-07-04