Table des matières
Avant-propos
Structure :
Maison interface Web js tutoriel Utiliser Vue pour imiter Toutiao (tutoriel détaillé)

Utiliser Vue pour imiter Toutiao (tutoriel détaillé)

Jun 07, 2018 pm 03:39 PM
vue

Cet article présente principalement l'exemple détaillé de Vue imitant Toutiao et explique le code correspondant. Les amis qui sont intéressés peuvent s'y référer.

Avant-propos

Je travaille sur vue depuis un moment. J'avais envie d'utiliser vue pour écrire un terminal mobile il y a quelque temps. De plus, je ne suis pas très occupé à la fin. de l'année, j'ai donc commencé à travailler dessus il y a quelques jours. Jusqu'à présent, je peux à peine le lire

Parce que j'écris uniquement des pages frontales, j'utilise donc mock.js pour les données. afin de simuler des requêtes réelles, vous pouvez directement générer vous-même l'API dans Easy Mock
Vous pouvez également vous connecter directement au compte Easy Mock de mon projet Mot de passe :

Compte : vue-toutiao
Mot de passe : 123456

Si vous souhaitez modifier l'interface, veuillez en faire une copie et la modifier

Si vous souhaitez développer vous-même l'interface backend. Vous pouvez lire mon blog Vue + Node + Mongodb pour développer un processus de blog complet

Pile technologique :

vue + webpack + vuex + axios

Structure :

  • build : configuration du webpack

  • config : paramètres de configuration du projet

  • src

  • actifs : fichiers de ressources statiques, stockage d'images, etc.

  • composants : composants couramment utilisés. Par exemple, des fenêtres pop-up, etc. . .

  • directive : encapsulation d'instructions communes

  • routeur : table de routage

  • magasin : gestion d'état vuex

  • styles : fichier de style

  • utils : package de classe d'outils communs

  • vues : afficher la page

  • statique : fichiers statiques : store favicon.ico, etc.

  • Ce projet utilise DllPlugin pour l'empaquetage, alors n'oubliez pas lorsque vous démarrez ce projet, exécutez d'abord la commande de script une fois pour générer la configuration

Démonstration de l'effet :

Quelques points de connaissances communs

1. Chargement paresseux des itinéraires

{
  path: '/development',
  name: 'development',
  component: (resolve) => {
    require(['../views/development.vue'], resolve)
  }
}
Copier après la connexion

ou

const _import_ = file => () => import('views/' + file + '.vue')

{
  path: '/development',
  name: 'development',
  component: _import_('development')
}
Copier après la connexion

2. L'interception de connexion

détermine si la connexion est requise via la fonction de hook beforeEach de l'itinéraire

// 如:系统设置需要登陆
{ 
  path: '/system', 
  name: '系统设置', 
  meta: { 
    login: true
  },
  component: _import_('System/index')
}

router.beforeEach((to, from, next) => {
  if (to.meta.login) { //判断前往的界面是否需要登陆
    if (store.state.user.user.name) { // 是否已经登陆
      next()
    }else{
      Vue.prototype.$alert('请先登录!')
        .then( () => {
          store.state.user.isLogin = true
        })
    }
  }else{
    if (to.meta.page) store.state.app.pageLoading = true
    next() 
  }
  
})
Copier après la connexion

3. Commutation d'animation

Déterminez le type d'animation de commutation qu'il effectue en détectant l'attribut d'animation défini sur le routeur

Router.prototype.animate = 0

// 获取每个路由meta上面的slide 来判断它做什么动画
{ 
  path: '/system', 
  name: '系统设置', 
  meta: { 
    slide: 1 
  },
  component: _import_('System/index')
}


watch: {
  $route (to, from) {
    /*
    0: 不做动画
    1: 左切换
    2: 右切换
    3: 上切换
    4: 下切换
    ...
     */
    let animate = this.$router.animate || to.meta.slide
    if (!animate) {
      this.animate = '' 
    }else{
      this.animate = animate === 1 ? 'slide-left' :
        animate === 2 ? 'slide-right' :
        animate === 3 ? 'slide-top' :
        animate === 4 ? 'slide-bottom' : ''
    }
    this.$router.animate = 0
  }
}
Copier après la connexion

4 . Lecture vidéo

Étant donné que les commandes vidéo ne peuvent pas être masquées sur IOS, nous pouvons masquer la vidéo et obtenir l'effet de lecture de la vidéo en dessinant une toile

5. . L'icône adoptée est le vecteur Alibaba

6 mock.js

7. ci-dessus, je l'ai compilé pour tout le monde, j'espère qu'il sera utile à tout le monde à l'avenir.

Articles associés :

Comment gérer le problème de la non-mise à jour de la vue lorsque les propriétés de l'objet changent dans la vue ?

Problèmes avec la conversion px et rem pour différentes adaptations d'écran dans vue2.0

Comment implémenter le glisser-déposer de fichiers avec la barre de progression dans la fonction Vue Upload

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 utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

Comment référencer le fichier JS avec Vue.js Comment référencer le fichier JS avec Vue.js Apr 07, 2025 pm 11:27 PM

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

Comment utiliser Watch in Vue Comment utiliser Watch in Vue Apr 07, 2025 pm 11:36 PM

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Que signifie le développement de plusieurs pages Vue? Que signifie le développement de plusieurs pages Vue? Apr 07, 2025 pm 11:57 PM

Le développement multi-pages VUE est un moyen de créer des applications à l'aide du cadre Vue.js, où l'application est divisée en pages distinctes: Maintenance du code: La division de l'application en plusieurs pages peut rendre le code plus facile à gérer et à maintenir. Modularité: chaque page peut être utilisée comme module séparé pour une réutilisation et un remplacement faciles. Routage simple: la navigation entre les pages peut être gérée par une configuration de routage simple. Optimisation du référencement: chaque page a sa propre URL, ce qui aide le référencement.

Comment revenir à la page précédente par Vue Comment revenir à la page précédente par Vue Apr 07, 2025 pm 11:30 PM

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Comment utiliser Vue Traversal Comment utiliser Vue Traversal Apr 07, 2025 pm 11:48 PM

Il existe trois méthodes courantes pour que Vue.js traverse les tableaux et les objets: la directive V-FOR est utilisée pour traverser chaque élément et les modèles de rendu; La directive V-Bind peut être utilisée avec V-FOR pour définir dynamiquement les valeurs d'attribut pour chaque élément; et la méthode .map peut convertir les éléments du tableau en nouveaux tableaux.

Comment sauter une balise à Vue Comment sauter une balise à Vue Apr 08, 2025 am 09:24 AM

Les méthodes pour implémenter le saut d'une balise dans Vue incluent: l'utilisation de la balise A dans le modèle HTML pour spécifier l'attribut HREF. Utilisez le composant routeur-link du routage Vue. Utilisez cette méthode. $ Router.push () dans JavaScript. Les paramètres peuvent être passés à travers le paramètre de requête et les itinéraires sont configurés dans les options de routeur pour les sauts dynamiques.

See all articles