Как контролировать маршруты страницы в контроллере?
-
21-12-2019 - |
Вопрос
onsenui отлично.Быстро и легко.Тем не менее, существует не так много документации для контроля логики Onsen в контроллере.
, как, например, я хочу сделать $ location.path ('/ newPath') внутри контроллера.Как дела в Onsen?Я пробовал "ons.navigator.pushpage ('partials / allowjob.html');"в моей функции контроллера, но не работает.Мы ограничиваемся NG-Щелкните в OnSen, чтобы перейти на другую страницу?
спасибо.
Решение
в Onsen UI 1.04, вы можете получить доступ к навигатору изнутри контроллера следующим образом.
$rootScope.ons.navigator.pushPage('new_page.html');
.
Еще один путь -
$rootScope.ons.$get('#navigator').pushPage(pagename);
.
Где #navigator
является генеракодицетагкодом навигатора, который вы надеваете на S.T.
<ons-navigator id="navigator" page="page1.html"></ons-navigator>
.
Этот метод может выбрать, какой навигатор вы используете.
Третий путь - это получение навигатора.Например,
var element = document.querySelector( ".navigator-container");
var scope = angular.element( element ).scope();
scope.pushPage(pagename);
.
Имя класса id
- это встроенное имя класса Onsen Ui Navigator.
Это хорошо, даже в onsen ui 1.0.
Добавление: пример генеракодицетагкода
myapp.controller('myCtrl', function($scope, $rootScope) {
$scope.pushPage = function(pagename) {
$rootScope.ons.navigator.pushPage(pagename);
}
});
.