我尝试使用options.onTransitionEnd
上的pushPage()
,因为我想在被推送页面的控制器内调用$scope.init()
函数。
我看到我只能将匿名函数传递给onTransitionEnd
选项。
例如:
app.navi.pushPage('page.html', {onTransitionEnd: function(){ alert('ok') } } );
相反,有一种方法可以在已推送页面的控制器内调用
$scope
函数?Tks很多。大卫
最佳答案
只要按钮在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
无论如何,如果您想要初始化被推送的页面,也许使用页面事件会更容易(Onsen UI 1.x仅使用
pageinit
):http://onsen.io/guide/overview.html#Pagelifecycle当然,被推送页面的控制器也将运行。