Question

OnsenUI est génial.Rapide et facile.Cependant, il n'existe pas beaucoup de documentation pour contrôler la logique Onsen dans le contrôleur.

Comme par exemple, je veux faire un $location.path('/newpath') à l'intérieur d'un contrôleur.Comment ça se passe à Onsen ?J'ai essayé "on.navigator.pushpage ('partials / le dernierJob.html');" dans ma fonction de contrôleur mais ne fonctionne pas.Sommes-nous limités à ng-click dans Onsen pour aller sur une autre page ?

Merci.

Était-ce utile?

La solution

Dans Onsen UI 1.04, vous pouvez accéder au navigateur depuis l'intérieur du contrôleur comme suit.

$rootScope.ons.navigator.pushPage('new_page.html');

Une autre façon est

$rootScope.ons.$get('#navigator').pushPage(pagename);

#navigator est le id du navigateur que vous mettez sur s.t.

<ons-navigator id="navigator" page="page1.html"></ons-navigator> 

Cette méthode permet de choisir le navigateur que vous utilisez.

La troisième méthode est celle d'obtenir la portée du navigateur.Par exemple,

var element = document.querySelector( ".navigator-container");
var scope = angular.element( element ).scope();
scope.pushPage(pagename);

Le nom de la classe .navigator-container est un nom de classe intégré du navigateur Onsen UI.Cela fonctionne bien même dans Onsen UI 1.0.

ajouter:exemple de $rootScope

myapp.controller('myCtrl', function($scope, $rootScope) {
  $scope.pushPage = function(pagename) {
    $rootScope.ons.navigator.pushPage(pagename);
  }
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top