컨트롤러에서 페이지 경로를 제어하는 방법은 무엇입니까?

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

  •  21-12-2019
  •  | 
  •  

문제

Onsenui는 훌륭합니다.빠르고 쉽습니다.그러나 컨트롤러에서 Onsen Logic을 제어하기위한 문서가별로 없습니다.

와 마찬가지로 컨트롤러 내부에서 $ location.path ( '/ newpath')를 수행하고 싶습니다.온천에서 어떻게 이루어 졌습니까?나는 "ons.navigator.pushpage ( 'partials / latestjob.html')를 시도했다."내 컨트롤러 기능에서 작동하지 않습니다.우리는 온천에서 ng-click로 제한되며 다른 페이지로 이동 하시겠습니까?

감사합니다.

도움이 되었습니까?

해결책

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

Class Name .navigator-container는 온 센서 UI 네비게이터의 내장 클래스 이름입니다. 온천 UI 1.0에서도 이것은 잘 어울립니다.

첨가 : $rootScope의 예

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top