我尝试使用options.onTransitionEnd
上提供的pushPage()
,因为我想在推送页面的控制器内调用$scope.init()
函数。
我看到我只能将一个匿名函数传递给onTransitionEnd
选项。
例如:
app.navi.pushPage('page.html', {onTransitionEnd: function(){ alert('ok') } } );
有一种方法可以在推送页面的控制器内调用$scope
函数吗?
很多。大卫
答案 0 :(得分:0)
只要按钮位于NavigatorController
范围:
<ons-button ng-click="myNav.pushPage('page1.html', {onTransitionEnd: myFunction})">Push</ons-button>
ons.bootstrap()
.controller('NavigatorController', function($scope) {
$scope.myFunction = function () {
console.log('onTransitionEnd');
};
});
在此处查看:http://codepen.io/frankdiox/pen/Gpzvqw
在任何情况下,如果你想要的是初始化推送的页面,也许它更容易使用页面事件(只有pageinit
可用于Onsen UI 1.x):http://onsen.io/guide/overview.html#Pagelifecycle
当然,推送页面的控制器也会运行。