onsen-ui – 如何控制控制器中的页面路由?

OnsenUI很棒.快速而简单.但是,没有太多文档可用于控制控制器中的Onsen逻辑.

比如说,我想在控制器中做一个$location.path(‘/ newpath’).温泉怎么样?我试过“ons.navigator.pushPage(‘partials / latestjob.html’);”在我的控制器功能但不起作用.我们是否仅限于在温泉中点击以转到另一个页面?

谢谢.

最佳答案 在Onsen UI 1.04中,您可以从控制器内部访问导航器,如下所示.

$rootScope.ons.navigator.pushPage('new_page.html');

另一种方式是

$rootScope.ons.$get('#navigator').pushPage(pagename);

其中#navigator是你放在s.t.的导航器的id.

<ons-navigator id="navigator" page="page1.html"></ons-navigator> 

此方法可以选择您使用的导航器.

第三种方式是获取导航范围的方法.例如,

var element = document.querySelector( ".navigator-container");
var scope = angular.element( element ).scope();
scope.pushPage(pagename);

类名.navigator-container是onsen ui navigator的内置类名.
这甚至在onsen ui 1.0中都很顺利.

添加:$rootScope的示例

myapp.controller('myCtrl', function($scope, $rootScope) {
  $scope.pushPage = function(pagename) {
    $rootScope.ons.navigator.pushPage(pagename);
  }
});
点赞