Come controllare le rotte della pagina nel controller?
-
21-12-2019 - |
Domanda
Onsenui è fantastico.Veloce e facile.Tuttavia, non c'è molta documentazione per il controllo della logica Onsen nel controller.
Come ad esempio, voglio fare una location $.Path ('/ new new-path') all'interno di un controller.Come viene fatto in Onsen?Ho provato "ons.navigator.pushpage ('partials / ustjob.html');"Nella mia funzione controller ma non funziona.Siamo limitati a NG-clicca in Onsen per andare in un'altra pagina?
Grazie.
Soluzione
In Onsen UI 1.04, è possibile accedere al navigatore dall'interno del controller come segue.
$rootScope.ons.navigator.pushPage('new_page.html');
.
Un altro modo è
$rootScope.ons.$get('#navigator').pushPage(pagename);
.
Dove #navigator
è il id
del navigatore che metti su S.T.
<ons-navigator id="navigator" page="page1.html"></ons-navigator>
.
Questo metodo può scegliere quale navigatore usi.
Il terzo modo è quello che ottiene lo scopo del navigatore.Ad esempio,
var element = document.querySelector( ".navigator-container");
var scope = angular.element( element ).scope();
scope.pushPage(pagename);
.
Il nome della classe .navigator-container
è un nome di classe incorporato di OnSen UI Navigator.
Questo va bene anche in Onsen UI 1.0.
Aggiunta: Esempio di $rootScope
myapp.controller('myCtrl', function($scope, $rootScope) {
$scope.pushPage = function(pagename) {
$rootScope.ons.navigator.pushPage(pagename);
}
});
.