9
votes

Conflit de routeur de fer avec routeur angulaire-UI

J'utilise une solution angulaire-météore avec mon application Web et j'ai choisi d'utiliser l'UI angulaire: routeur sur le routeur de fer. J'ai rencontré des problèmes lorsque j'ai décidé d'utiliser Houston Admin, qui utilise le routeur de fer sous le capot. Existe-t-il un moyen de limiter les itinéraires de fer-routeur / administrateur / *?

Lorsque je navigue dans mon application Normalement, je reçois un message du routeur Iron-routeur dans la vue indiquant que l'itinéraire n'existe pas mais il fait sous angular-ui: ROUER.

EDIT: Définition des itinéraires dans le routeur de fer me mène quelque part, mais maintenant ma vue angulaire-ui est affichée deux fois. xxx

});

EDIT2: lorsque la page actuelle il ne double pas afficher la vue. Cela se produit après que je change de route via UI-routeur. Je pense que je devrais devoir donner quelque chose à faire un routeur de fer à afficher comme une étiquette vide.

Solution: voir ma réponse ci-dessous, pour un exemple codé, consultez le GitHub ici Https://github.com/cleor41/Router-Example .


0 commentaires

3 Réponses :


4
votes

S'il y a des itinéraires que vous souhaitez être traités dans un routeur mais pas l'autre (peu importe lequel), vous devriez ajouter cet itinéraire aux deux itinéraires à gérer, mais dans l'une d'entre elles ne font rien quand il est manipulé.

Vous devez le faire afin que le comportement par défaut de cette route ne se produise pas (généralement une redirection à quelque part).

Si cette réponse n'aide pas, veuillez copier / coller vos itinéraires ici afin que je puisse mieux regarder ce qui se passe.


0 commentaires

9
votes

EDIT: Si quelqu'un souhaite voir un exemple, consultez le lien ici https://github.com/cleor41/router- Exemple

Au lieu d'essayer de passer le routeur de fer Sidestep, je devais l'utiliser, au moins pour la charge de la page initiale. Mon index initial.html a changé de ceci. P> xxx pré>

à ceci p> xxx pré>

et j'ai créé un modèle qui encapsule le corps. . P>

Router.route('/(.*)', function(){
  this.render('default');
});


13 commentaires

Je cours dans le même problème avec Orionjs et Ui.Ruoter anguleux, où avez-vous ajouté dans la "StatChangeStart" pouvez-vous me montrer un exemple?


Oui sûr. Vous pouvez soit créer un nouveau projet de météore et gérer «Yo Lunar-Eclipse», soit en fait, je le ferai pour vous et vous reliez à la répétition, donnez-moi une seconde.


@ vimes1984 Voici y aller, consultez l'exemple ici Github.com/cleor41/Router-Example


Laissez-moi savoir si vous avez besoin de quelque chose d'autre ou d'une meilleure explication


Ok j'ai poussé ce que j'ai à la repo: Github.com/vimes1984/yeti Mes routeurs sont définis dans: Github.com/ vimes1984 / Weti / blob / maître / client / js / configs / ... et mon modèle est sous Index.html Il semble que le modèle réel ne soit pas la vue d'UI ...


Ok laissez-moi donner un look, je te recontacterai dans une seconde


Puisque vous utilisez un autre routeur, pouvez-vous créer une question différente et je vais essayer de vous aider là-bas? D'autres personnes pourraient avoir la même question.


@ Vimes1984 En bref, je pense que le problème peut être l'application NG sur l'étiquette du corps. On dirait que vous l'avez fait de l'angulaire -> météore -> angulaire (car le gabarit est placé à l'intérieur de l'étiquette du corps par météor) lorsque cela devrait aller météore -> angulaire. Essayez de placer NG-App sur un élément du modèle. IDT Vous avez même besoin de la directive NG-APP cependant, votre application angulaire doit être basculée manuellement puis manipulée par UI-routeur. Ou au moins c'est comme ça que je l'ai fait. Check out app.ng.js dans le répertoire client / lib


J'aime comment vous définissez votre projet aussi, je vais prendre quelques notes


Une dernière chose, si vous avez la colère à l'intérieur de la NG-APP, je pense que vous devez utiliser la directive Meteor-Inclure.


Cela vous a-t-il aidé?


Ça vous remercie: D J'ai fini par déchirer l'orionjs et construire le mien si: D


Merci pour cette réponse de haute qualité. Ceci est pour Angular 1. Quelqu'un a essayé avec une 2 angulaire?



1
votes

acutalement. Vous n'avez pas besoin de définir le nom du modèle = "Index" / Modèle. Vous avez juste besoin de définir Routeur.route ('/', fonction () {

}); (Au niveau supérieur de route.ng.js)

Pas besoin de rendre quelque chose à l'intérieur de Router.Route, et aussi, l'index.html devrait être tel qu'il était. Et définir l'état correspondant dans l'UI-routeur: .tate ('admin1', { URL: '/ admin' }) .tate ('admin2', { URL: '/ admin / * chemin' });

Et puis tout va bien fonctionner. C'est comme ça que je l'ai fait.


0 commentaires