Как контролировать маршруты страницы в контроллере?

StackOverflow https://stackoverflow.com//questions/24016366

  •  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);
  }
});
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top