OnsenUI 很棒。快速简单。但是,在控制器中控制 Onsen 逻辑的文档并不多。
例如,我想在控制器中执行 $location.path('/newpath') 。温泉是怎么做的?我试过“ons.navigator.pushPage('partials/latestjob.html');” 在我的控制器功能中但不起作用。我们是否仅限于在 Onsen 中单击以转到另一个页面?
谢谢。
OnsenUI 很棒。快速简单。但是,在控制器中控制 Onsen 逻辑的文档并不多。
例如,我想在控制器中执行 $location.path('/newpath') 。温泉是怎么做的?我试过“ons.navigator.pushPage('partials/latestjob.html');” 在我的控制器功能中但不起作用。我们是否仅限于在 Onsen 中单击以转到另一个页面?
谢谢。
在 Onsen UI 1.04 中,您可以从控制器内部访问导航器,如下所示。
$rootScope.ons.navigator.pushPage('new_page.html');
另一种方法是
$rootScope.ons.$get('#navigator').pushPage(pagename);
你放在st上的导航#navigator
器在哪里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);
}
});