Table des matières
Découvrez les plug-ins
Développer vue-toast
Maison interface Web js tutoriel Explication détaillée du développement du plug-in Vue.js

Explication détaillée du développement du plug-in Vue.js

Apr 05, 2017 pm 01:43 PM

Avant-propos

Alors que Vue.js devient de plus en plus populaire, les plug-ins liés à Vue.js sont constamment contribués, d'innombrables. Par exemple, les vues-router, vuex, etc. officiellement recommandés sont tous d'excellents plug-ins. Mais nous sommes encore plus nombreux à en être à l’étape de l’utilisation et à le développer rarement nous-mêmes. Nous découvrirons donc ensuite le développement et l'utilisation du plug-in via un simple plug-in vue-toast.

Découvrez les plug-ins

Si vous souhaitez développer un plug-in, vous devez d'abord savoir à quoi ressemble un plug-in.

Les plug-ins Vue.js doivent avoir une méthode d'installation publique. Le premier paramètre de cette méthode est le constructeur Vue, et le deuxième paramètre est un objet d'options facultatif :

MyPlugin.install = function (Vue, options) {
  Vue.myGlobalMethod = function () {  // 1. 添加全局方法或属性,如: vue-custom-element
    // 逻辑...
  }
  Vue.directive('my-directive', {  // 2. 添加全局资源:指令/过滤器/过渡等,如 vue-touch
    bind (el, binding, vnode, oldVnode) {
      // 逻辑...
    }
    ...
  })
  Vue.mixin({
    created: function () {  // 3. 通过全局 mixin方法添加一些组件选项,如: vuex
      // 逻辑...
    }
    ...
  })
  Vue.prototype.$myMethod = function (options) {  // 4. 添加实例方法,通过把它们添加到 Vue.prototype 上实现
    // 逻辑...
  }
}
Copier après la connexion

Le plug-in vue-toast dont nous parlerons ensuite est implémenté en ajoutant une méthode d'instance. de. Regardons d'abord un petit exemple. Créez d'abord un nouveau fichier js pour écrire le plug-in : toast.js

// toast.js
var Toast = {};
Toast.install = function (Vue, options) {
    Vue.prototype.$msg = 'Hello World';
}
module.exports = Toast;
Copier après la connexion

Dans main.js, vous devez importer toast.js et utiliser le plug-in via la méthode globale Vue.use () :

// main.js
import Vue from 'vue';
import Toast from './toast.js';
Vue.use(Toast);
Copier après la connexion

Ensuite, on obtient l'attribut $msg défini par le plug-in dans le composant.

// App.vue
export default {
    mounted(){
        console.log(this.$msg);         // Hello World
    }
}
Copier après la connexion

Comme vous pouvez le voir, la console a imprimé avec succès Hello World. Maintenant que $msg peut être obtenu, nous pouvons implémenter notre plug-in vue-toast.

Développer vue-toast

Exigences : dans le composant, appelez this.$toast('Network request failed') pour faire apparaître une invite, qui est affichée en bas par défaut. Vous pouvez l'afficher dans différentes positions en appelant des méthodes telles que this.$toast.top() ou this.$toast.center().

Pour trier mes pensées, lorsqu'une invite apparaît, je peux ajouter un p dans le corps pour afficher les informations de l'invite. Je peux localiser différentes positions en ajoutant différents noms de classe, puis je peux commencer à écrire.

// toast.js
var Toast = {};
Toast.install = function (Vue, options) {
    Vue.prototype.$toast = (tips) => {
        let toastTpl = Vue.extend({     // 1、创建构造器,定义好提示信息的模板
            template: &#39;<p class="vue-toast">&#39; + tips + &#39;</p>&#39;
        });
        let tpl = new toastTpl().$mount().$el;  // 2、创建实例,挂载到文档以后的地方
        document.body.appendChild(tpl);     // 3、把创建的实例添加到body中
        setTimeout(function () {        // 4、延迟2.5秒后移除该提示
            document.body.removeChild(tpl);
        }, 2500)
    }
}
module.exports = Toast;
Copier après la connexion

Cela semble très simple. Nous avons implémenté this.$toast() puis affiché différentes positions.

<p style="margin-bottom: 7px;">// toast.js<br/>[&#39;bottom&#39;, &#39;center&#39;, &#39;top&#39;].forEach(type => {<br/>    Vue.prototype.$toast[type] = (tips) => {<br/>        return Vue.prototype.$toast(tips,type)<br/>    }<br/>})<br/></p>
Copier après la connexion

Ici, transmettez le type à $toast et traitez différentes positions dans cette méthode. Comme mentionné ci-dessus, cela est réalisé en ajoutant différents noms de classe (toast-bottom, toast-top, toast-center). , alors la méthode $toast doit être légèrement modifiée.

Vue.prototype.$toast = (tips,type) => {     // 添加 type 参数
    let toastTpl = Vue.extend({             // 模板添加位置类
        template: &#39;<p class="vue-toast toast-&#39;+ type +&#39;">&#39; + tips + &#39;</p>&#39;
    });
    ...
}
Copier après la connexion

Cela semble presque terminé. Mais si je veux l'afficher en haut par défaut, il semble un peu redondant de devoir appeler this.$toast.top() à chaque fois. Puis-je simplement mettre this.$toast() directement là où je le veux ? Et je ne veux pas qu’il disparaisse au bout de 2,5 secondes ? À ce stade, nous avons remarqué le paramètre options dans Toast.install(Vue,options). Nous pouvons transmettre les paramètres souhaités via les options dans Vue.use(). Le plug-in final modifié est le suivant :

var Toast = {};
Toast.install = function (Vue, options) {
    let opt = {
        defaultType:&#39;bottom&#39;,   // 默认显示位置
        duration:&#39;2500&#39;         // 持续时间
    }
    for(let property in options){
        opt[property] = options[property];  // 使用 options 的配置
    }
    Vue.prototype.$toast = (tips,type) => {
        if(type){
            opt.defaultType = type;         // 如果有传type,位置则设为该type
        }
        if(document.getElementsByClassName(&#39;vue-toast&#39;).length){
            // 如果toast还在,则不再执行
            return;
        }
        let toastTpl = Vue.extend({
            template: &#39;<p class="vue-toast toast-&#39;+opt.defaultType+&#39;">&#39; + tips + &#39;</p>&#39;
        });
        let tpl = new toastTpl().$mount().$el;
        document.body.appendChild(tpl);
        setTimeout(function () {
            document.body.removeChild(tpl);
        }, opt.duration)
    }
    [&#39;bottom&#39;, &#39;center&#39;, &#39;top&#39;].forEach(type => {
        Vue.prototype.$toast[type] = (tips) => {
            return Vue.prototype.$toast(tips,type)
        }
    })
}
module.exports = Toast;
Copier après la connexion

De cette façon, un simple plug-in vue est implémenté et peut être empaqueté et publié via npm. Vous pouvez utiliser npm install pour l'installer ensuite. heure

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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)

Guide du débutant PyCharm : compréhension complète de l'installation du plug-in ! Guide du débutant PyCharm : compréhension complète de l'installation du plug-in ! Feb 25, 2024 pm 11:57 PM

PyCharm est un environnement de développement intégré (IDE) Python puissant et populaire qui fournit une multitude de fonctions et d'outils afin que les développeurs puissent écrire du code plus efficacement. Le mécanisme de plug-in de PyCharm est un outil puissant pour étendre ses fonctions. En installant différents plug-ins, diverses fonctions et fonctionnalités personnalisées peuvent être ajoutées à PyCharm. Par conséquent, il est crucial pour les débutants de PyCharm de comprendre et de maîtriser l’installation de plug-ins. Cet article vous donnera une introduction détaillée à l'installation complète du plug-in PyCharm.

Erreur de chargement du plugin dans Illustrator [Corrigé] Erreur de chargement du plugin dans Illustrator [Corrigé] Feb 19, 2024 pm 12:00 PM

Lors du lancement d'Adobe Illustrator, un message d'erreur de chargement du plug-in apparaît-il ? Certains utilisateurs d'Illustrator ont rencontré cette erreur lors de l'ouverture de l'application. Le message est suivi d'une liste de plugins problématiques. Ce message d'erreur indique qu'il y a un problème avec le plug-in installé, mais il peut également être provoqué par d'autres raisons telles qu'un fichier DLL Visual C++ endommagé ou un fichier de préférences endommagé. Si vous rencontrez cette erreur, nous vous guiderons dans cet article pour résoudre le problème, alors continuez à lire ci-dessous. Erreur de chargement du plug-in dans Illustrator Si vous recevez un message d'erreur « Erreur de chargement du plug-in » lorsque vous essayez de lancer Adobe Illustrator, vous pouvez utiliser les éléments suivants : En tant qu'administrateur

Quel est le répertoire d'installation de l'extension du plug-in Chrome ? Quel est le répertoire d'installation de l'extension du plug-in Chrome ? Mar 08, 2024 am 08:55 AM

Quel est le répertoire d’installation de l’extension du plug-in Chrome ? Dans des circonstances normales, le répertoire d'installation par défaut des extensions de plug-in Chrome est le suivant : 1. L'emplacement du répertoire d'installation par défaut des plug-ins Chrome dans Windows XP : C:\DocumentsandSettings\username\LocalSettings\ApplicationData\Google\Chrome\UserData\ Default\Extensions2. chrome dans Windows7 Emplacement du répertoire d'installation par défaut du plug-in : C:\Users\username\AppData\Local\Google\Chrome\User

Partagez trois solutions expliquant pourquoi le navigateur Edge ne prend pas en charge ce plug-in Partagez trois solutions expliquant pourquoi le navigateur Edge ne prend pas en charge ce plug-in Mar 13, 2024 pm 04:34 PM

Lorsque les utilisateurs utilisent le navigateur Edge, ils peuvent ajouter des plug-ins pour répondre davantage à leurs besoins. Mais lors de l'ajout d'un plug-in, cela indique que ce plug-in n'est pas pris en charge. Comment résoudre ce problème ? Aujourd'hui, l'éditeur partagera avec vous trois solutions. Venez l'essayer. Méthode 1 : essayez d’utiliser un autre navigateur. Méthode 2 : Le Flash Player du navigateur peut être obsolète ou manquant, ce qui rend le plug-in non pris en charge. Vous pouvez télécharger la dernière version sur le site officiel. Méthode 3 : Appuyez simultanément sur les touches « Ctrl+Shift+Delete ». Cliquez sur "Effacer les données" et rouvrez le navigateur.

PyCharm Community Edition prend-il en charge suffisamment de plugins ? PyCharm Community Edition prend-il en charge suffisamment de plugins ? Feb 20, 2024 pm 04:42 PM

PyCharm Community Edition prend-il en charge suffisamment de plugins ? Besoin d'exemples de code spécifiques Alors que le langage Python devient de plus en plus largement utilisé dans le domaine du développement logiciel, PyCharm, en tant qu'environnement de développement intégré (IDE) Python professionnel, est favorisé par les développeurs. PyCharm est divisé en deux versions : la version professionnelle et la version communautaire. La version communautaire est fournie gratuitement, mais sa prise en charge des plug-ins est limitée par rapport à la version professionnelle. La question est donc la suivante : PyCharm Community Edition prend-il en charge suffisamment de plug-ins ? Cet article utilisera des exemples de code spécifiques pour

Comment utiliser un plugin WordPress pour implémenter la fonctionnalité de localisation instantanée Comment utiliser un plugin WordPress pour implémenter la fonctionnalité de localisation instantanée Sep 05, 2023 pm 04:51 PM

Comment utiliser les plugins WordPress pour implémenter la fonction de localisation instantanée Avec la popularité des appareils mobiles, de plus en plus de sites Web commencent à fournir des services basés sur la géolocalisation. Dans les sites WordPress, nous pouvons utiliser des plug-ins pour mettre en œuvre des fonctions de positionnement instantané et fournir aux visiteurs des services liés à leur situation géographique. 1. Choisissez le bon plug-in Il existe de nombreux plug-ins proposant des services de géolocalisation dans la bibliothèque de plug-ins WordPress. En fonction des besoins et des exigences, choisir le bon plug-in est la clé pour obtenir une fonctionnalité de positionnement instantané. En voici quelques-uns

Comment ajouter la fonctionnalité du mini-programme WeChat au plug-in WordPress Comment ajouter la fonctionnalité du mini-programme WeChat au plug-in WordPress Sep 06, 2023 am 09:03 AM

Comment ajouter les fonctions du programme WeChat Mini aux plugins WordPress Avec la popularité et la popularité des mini-programmes WeChat, de plus en plus de sites Web et d'applications commencent à envisager de les intégrer aux mini-programmes WeChat. Pour les sites Web qui utilisent WordPress comme système de gestion de contenu, l’ajout de la fonction applet WeChat peut offrir aux utilisateurs une expérience d’accès plus pratique et des choix plus fonctionnels. Cet article explique comment ajouter la fonctionnalité du mini-programme WeChat au plug-in WordPress. Étape 1 : Enregistrez un compte mini-programme WeChat. Tout d’abord, vous devez ouvrir l’application WeChat.

Comment ajouter une fonctionnalité de commande en ligne au plugin WordPress Comment ajouter une fonctionnalité de commande en ligne au plugin WordPress Sep 05, 2023 pm 03:42 PM

Comment ajouter une fonction de commande en ligne au plugin WordPress À l'ère numérique d'aujourd'hui, de nombreux restaurants et cafés ont choisi de déplacer le processus de commande en ligne pour répondre aux besoins des clients. WordPress est un système de gestion de contenu (CMS) largement utilisé et de nombreuses entreprises utilisent WordPress pour créer leurs sites Web. Cet article explique comment ajouter une fonctionnalité de commande en ligne au plug-in WordPress et fournit des exemples de code correspondants. Étape 1 : Choisissez le bon plugin. Tout d'abord, nous devons créer un plugin personnalisé dans WordPress.

See all articles