Maison interface Web js tutoriel Comment implémenter l'effet de vue router en jugeant automatiquement l'animation de transition de rotation de page gauche et droite

Comment implémenter l'effet de vue router en jugeant automatiquement l'animation de transition de rotation de page gauche et droite

Jan 25, 2018 am 11:47 AM
router à propos 翻页

J'ai réalisé un projet de spa mobile il y a quelque temps. La technologie est basée sur : vue + vue-router + vuex + mint-ui Parce que le modèle webpack de l'échafaudage vue-cli est utilisé, toutes les pages utilisent des fichiers avec le . vue en tant que composant, cet article partage principalement avec vous le jugement automatique de Vue Router sur les effets d'animation de transition de rotation de page gauche et droite. J'espère qu'il pourra vous aider.

La société a relativement peu de projets récemment et j'ai enfin le temps d'enregistrer une partie de ma petite expérience avec vue-router

Les applications générales d'une seule page sur le port mobile auront quelques problèmes lors du passage à. la page. Animation de transition correspondante, telle que :

1. L'animation de transition qui doit être affichée lors du passage de la page actuelle de premier niveau à la page de deuxième niveau est lorsque la page de premier niveau passe à le côté gauche de l'écran et disparaît,

Des pages secondaires apparaissent en se déplaçant de la droite vers la gauche de l'écran. (Semblable à l'effet de tourner un livre vers la page suivante)

2. L'animation de transition qui doit être affichée lors du passage de la page actuelle de deuxième niveau à la page de premier niveau est lorsque la deuxième La page de premier niveau se déplace vers la droite de l'écran et disparaît,

La page de premier niveau se déplace de la gauche vers la droite de l'écran. Semblable à (l'effet de retourner un livre à la page précédente)

Mais une question se pose : Comment déterminer la relation hiérarchique entre la page en cours et la page à sauter ?

Ma solution est la suivante : lors de la création d'une page (composant), définissez l'attribut path (chemin d'accès) de la page dans le routeur qui définit la page pour distinguer la relation hiérarchique entre les composants.

Par exemple, le chemin d'accès d'une page (composant) de premier niveau « A » est « /A ». Le chemin d'accès de sa page secondaire 'B' est '/A/B'.

Ensuite, avant de passer à la page, il vous suffit de comparer la profondeur du chemin de la page actuelle et de la page vers laquelle accéder. Configurer dynamiquement l'animation de transition.

Par exemple, la profondeur de '/A/B' > la profondeur de '/A', puis passer de la page B à la page A devrait être l'effet 2 : (l'effet de retourner un livre au page précédente) .

Un. D'abord la page parent

home.vue :

<!-- keepAlList是用来动态判断组件是否需要keep-alive,建议保存到vuex中作为全局变量,至于下方的css动画,看官可以按照喜好自由修改-->
<transition :name="transNa">
 <keep-alive :include="keepAlList">
 <router-view class="child-view"></router-view>
 </keep-alive>
</transition>
<style scoped>
.child-view {
 position: absolute;
 width: 100%;
 height: 100%;
 transition: all .5s ease;
 -webkit-transition: all .5s ease;
 -moz-transition: all .5s ease;
}
.rightin-enter,
.leftin-leave-active {
 opacity: 0;
 transform: translate3d(50% 0, 0);
 -webkit-transform: translate3d(50%, 0, 0);
 -moz-transform: translate3d(50%, 0, 0);
}
.leftin-enter,
.rightin-leave-active {
 opacity: 0;
 transform: translate3d(-50% 0, 0);
 -webkit-transform: translate3d(-50%, 0, 0);
 -moz-transform: translate3d(-50%, 0, 0);
}
</style>
Copier après la connexion

2. Deuxièmement, je joins mon fragment main.js (utilisé pour définir dynamiquement l'animation de transition avant de passer à la page)

Main.js :

//进入路由之前设置拦截器
let noLoginList = ["login", "register", "forget", "home", "classify", "goodsDetial"];
router.routeInfo.beforeEach((to, from, next) => {
 let user = sessionStorage.getItem('user');
 //如果要去登录页面
 if (noLoginList.indexOf(to.name) >= 0) {
  if (!user || user == '') {
   //未登录的状态通行
   next();
   return;
  } else {
   if (["login", "register", "forget"].indexOf(to.name) >= 0) {
    //已登录的状态去首页
    next({
     name: 'home'
    });
    return;
   } else {
    //已登录的状态去首页
    next();
    return;
   }
  }
 } else {
  //去登录页面以外的页面(以下是本文关键代码)
  if (user && user != '') {
   //判断是否为需要缓存组件,如果是添加组件名到数组
   if (to.meta.keepAlive) {
    const toName = to.name;
    let keepLi = store.getters.getKeepAlList;
    keepLi.indexOf(toName) < 0 ? keepLi.push(toName) : &#39;&#39;;
    store.commit(&#39;SET_KEEPALLIST&#39;, keepLi);
   }
   //根据路径名深度设置转场动画类型
   store.commit(&#39;SET_TRANSNA&#39;, (to.path.split(&#39;/&#39;).length < from.path.split(&#39;/&#39;).length ? &#39;leftin&#39; : &#39;rightin&#39;));
   next();
  } else {
   let toWhere = router.nameList.indexOf(to.name) >= 0 ? to : {name: 'home'};
   next({
    name: 'login',
    params: {
     jumpTo: {
      name: toWhere.name,
      params: toWhere.params,
      query: toWhere.query,
     },
    }
   });
  }
 }
});
Copier après la connexion

Recommandations associées :

jquery implémente les effets de rotation des pages gauche et droite du clavier_jquery

Explication détaillée du routeur vue utilisant jquery et params pour transmettre les paramètres

vue Paramètres de routage du routeur Solution pour actualiser le problème de disparition

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment distinguer les écouteurs gauche et droit rl Comment porter les écouteurs gauche et droit Comment distinguer les écouteurs gauche et droit rl Comment porter les écouteurs gauche et droit Feb 22, 2024 pm 05:10 PM

L signifie gauche, porté sur l'oreille gauche, et R signifie droite, porté sur l'oreille droite. Analyse 1 Il y a généralement des logos sur les écouteurs. Les lettres anglaises sont abrégées en L et R. L signifie gauche et se porte sur l'oreille gauche. R signifie droite et se porte sur l'oreille droite. Les positions spécifiques marquées par R et L ne sont pas fixes et sont basées sur les écouteurs spécifiques. Certains écouteurs marqueront R en rouge. Pour les écouteurs fournis avec l'emballage d'origine d'un téléphone mobile, le côté avec le microphone et les boutons se trouve généralement sur le côté droit. Supplément : Types d’écouteurs 1 Les écouteurs sont un symbole de l’audio portable des gens. Les écouteurs peuvent être divisés en deux spécifications : les spécifications OMTP sont généralement appelées normes nationales et les spécifications CTIA sont généralement appelées normes internationales. Les écouteurs sont classés selon leurs méthodes de conversion d'énergie, notamment : méthode de bobine dynamique, méthode de fer mobile, méthode statique.

Guide de l'utilisateur de React Router : Comment implémenter le contrôle de routage frontal Guide de l'utilisateur de React Router : Comment implémenter le contrôle de routage frontal Sep 29, 2023 pm 05:45 PM

Guide de l'utilisateur de ReactRouter : Comment implémenter le contrôle du routage frontal Avec la popularité des applications monopage, le routage frontal est devenu un élément important qui ne peut être ignoré. En tant que bibliothèque de routage la plus populaire de l'écosystème React, ReactRouter fournit des fonctions riches et des API faciles à utiliser, rendant la mise en œuvre du routage frontal très simple et flexible. Cet article expliquera comment utiliser ReactRouter et fournira quelques exemples de code spécifiques. Pour installer ReactRouter en premier, nous avons besoin

Test et évaluation de la consommation d'énergie (test et évaluation de la consommation d'énergie du rx588) Test et évaluation de la consommation d'énergie (test et évaluation de la consommation d'énergie du rx588) Dec 31, 2023 pm 09:38 PM

La consommation électrique du rx588 est d'environ 250 W. Regarder des films sur le RX580 consomme de l'énergie, mais pas beaucoup. De nombreuses vidéos nécessitent du matériel pour être décodées. Une carte graphique sera plus ou moins utilisée. La consommation électrique de la plate-forme de la carte unique xfx Crimson et Dylan Demon + 7700K est d'environ 380 W, 7700 K compte pour 100 W et les autres appareils ensemble peuvent atteindre 30 W, c'est-à-dire que la consommation électrique du rx588 est d'environ 250 W et la consommation électrique de la machine à double carte est de 630w à 650w, plus de 700w suffisent, mais à ce moment la charge de l'alimentation est trop élevée, ce qui affecte la durée de vie. Calculée sur la base d'une charge de 60% à 80%, la puissance idéale. La puissance nominale de l'alimentation est de 850 à 1 000 W. Cela dépend du processeur utilisé et s'il est overclocké. La carte mère H61 prend-elle en charge la carte graphique 588 ?

Comment tourner les pages dans Word Comment tourner les pages dans Word Mar 19, 2024 pm 07:22 PM

Word est l'un des logiciels de bureautique les plus utilisés. Lorsque le contenu du texte édité est long et difficile à lire, vous pouvez tourner les pages dans Word. Ci-dessous, l'éditeur partagera avec mes amis un tutoriel simple sur la façon de tourner les pages dans Word ! J'espère que cela vous aidera les gars ! 1. Tout d’abord, nous ouvrons le document Word de plusieurs pages dans le logiciel Word sur l’ordinateur. Comme le montre l'image ci-dessous : 2. Cliquez sur la flèche vers le haut sur la barre de défilement de l'interface Word pour faire défiler vers le haut et tourner les pages. Comme le montre l'image ci-dessous : 3. Si vous devez descendre la page, cliquez sur la flèche vers le bas de la barre de défilement. Comme le montre l'image ci-dessous : 4. Cliquez sur la flèche de la barre de défilement pour tourner les pages. Ce type de changement de page est plus simple. Nous devons tourner rapidement les pages en utilisant le bouton droit de la souris pour cliquer sur la barre de défilement. comme suit

Comment utiliser JavaScript pour implémenter le défilement infini ? Comment utiliser JavaScript pour implémenter le défilement infini ? Oct 19, 2023 am 09:57 AM

Comment utiliser JavaScript pour implémenter la fonction de rotation de page à défilement infini ? Le défilement infini est devenu très populaire dans la conception de sites Web modernes. Cette fonctionnalité aide les utilisateurs à faire défiler la page pour charger du nouveau contenu sans avoir à cliquer sur le bouton de la page. Dans cet article, nous présenterons comment utiliser JavaScript pour implémenter le défilement infini et fournirons des exemples de code spécifiques. Pour implémenter la fonction de rotation de page à défilement infini, nous devons écouter les événements de défilement de l'utilisateur et charger du nouveau contenu lorsque la page défile vers une position spécifique.

Les avantages uniques du routage Lazy-Loading de Vue Router, comment optimiser les performances des pages ? Les avantages uniques du routage Lazy-Loading de Vue Router, comment optimiser les performances des pages ? Sep 15, 2023 am 10:36 AM

VueRouter est un plug-in de gestion d'itinéraire officiellement fourni par Vue.js. Il peut nous aider à implémenter la navigation de page et le changement d'itinéraire dans les applications Vue. La fonctionnalité Lazy-Loading est un avantage unique de VueRouter, qui peut considérablement optimiser les performances des pages. Dans cet article, nous présenterons la fonctionnalité de routage Lazy-Loading de VueRouter et fournirons quelques exemples de code pratiques pour optimiser les performances des pages. Lazy-Loading signifie en cas de besoin

Que dois-je faire si le routeur React ne s'affiche pas ? Que dois-je faire si le routeur React ne s'affiche pas ? Dec 30, 2022 am 09:30 AM

Solution pour réagir au routeur qui ne s'affiche pas : 1. Ajoutez browserRouter au composant de routage parent pour envelopper le routeur ; 2. Utilisez "this.props.history.go()" pour actualiser le composant 3. Ajoutez "forcerefresh" au paramètre browserrouter ; ={true}"; 4. Écrivez une fonction hook dans "<Route>" et appelez-la lorsque vous quittez ou entrez dans cette route.

Routage Lazy-Loading de Vue Router : une tendance pour contribuer à améliorer les performances des pages Routage Lazy-Loading de Vue Router : une tendance pour contribuer à améliorer les performances des pages Sep 15, 2023 am 08:03 AM

VueRouter est le gestionnaire de routage officiel du framework Vue.js. Il permet aux développeurs de changer de contenu de page via le mappage de routage, rendant les applications monopage plus contrôlables et plus faciles à maintenir. Cependant, à mesure que les applications deviennent plus complexes, le chargement et l’analyse des routes peuvent devenir un goulot d’étranglement en termes de performances. Afin de résoudre ce problème, VueRouter fournit une fonction de chargement paresseux des routes, qui diffère le chargement des routes jusqu'à ce qu'elles soient réellement nécessaires. Le chargement paresseux est une technologie de chargement qui

See all articles