OnsenUI很棒。快速而简单。但是,控制器中没有太多用于控制Onsen逻辑的文档。
例如,我想在控制器内部执行$ location.path(' / newpath')。温泉怎么样?我试过" ons.navigator.pushPage(' partials / latestjob.html');"在我的控制器功能,但不起作用。我们是否仅限于在温泉中点击以转到另一页?
感谢。
答案 0 :(得分:2)
在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);
}
});