Comment implémenter le contrôle de version historique et les fonctions d'annulation/rétablissement des cartes mentales à l'aide de Vue et jsmind ?
Introduction
La cartographie mentale est un outil populaire de cartographie des connaissances qui peut nous aider à mieux organiser et comprendre des relations de pensée complexes. Lors du développement d'applications de cartographie mentale basées sur Vue, il est très utile d'implémenter un contrôle de version historique et des fonctions d'annulation/rétablissement. Cet article vous présentera comment utiliser les plug-ins Vue et jsmind pour réaliser ces fonctions.
npm install vue jsmind
<template> <div> <div ref="jsmindContainer"></div> <button @click="undo">撤销</button> <button @click="redo">重做</button> </div> </template> <script> import 'jsmind/style/jsmind.css' import { jsMind } from 'jsmind' export default { name: 'MindMap', data () { return { mindMap: null, history: [], current: -1 } }, mounted () { const options = { container: this.$refs.jsmindContainer, editable: true } this.mindMap = new jsMind(options) this.mindMap.set_data(this.history[this.current]) }, methods: { undo () { if (this.current > 0) { this.current-- this.mindMap.set_data(this.history[this.current]) } }, redo () { if (this.current < this.history.length - 1) { this.current++ this.mindMap.set_data(this.history[this.current]) } }, saveData () { const data = this.mindMap.get_data() this.history = this.history.slice(0, this.current + 1) this.history.push(data) this.current = this.history.length - 1 } }, watch: { mindMap: { handler: 'saveData', deep: true } } } </script>
Dans le code ci-dessus, nous avons introduit le fichier de style et l'instance jsMind de jsmind. Dans les données, nous définissons mindMap pour gérer les cartes mentales, history pour enregistrer l'historique des versions et current pour représenter l'index de la version actuelle.
Dans la méthode montée du composant, nous créons une instance de carte mentale via le constructeur de jsMind et la rendons au nœud DOM spécifié. Dans les méthodes, nous avons implémenté deux méthodes, annuler et refaire, pour annuler et refaire la version de la carte mentale. Dans la méthode saveData, nous enregistrons les données actuelles de la carte mentale dans l'historique et mettons à jour la valeur actuelle.
Enfin, dans watch, nous surveillons les changements dans mindMap afin que lorsque les données de la carte mentale changent, nous puissions appeler la méthode saveData pour les enregistrer.
<template> <div> <MindMap /> </div> </template> <script> import MindMap from './MindMap.vue' export default { name: 'App', components: { MindMap } } </script>
Vous pouvez étendre davantage ce composant en fonction de vos besoins, comme par exemple ajouter l'affichage des versions historiques, etc.
Résumé
En utilisant les plug-ins Vue et jsmind, nous pouvons facilement implémenter le contrôle de version historique et les fonctions d'annulation/rétablissement des cartes mentales. En surveillant les modifications de la carte mentale et en enregistrant les données, nous pouvons créer une application de cartographie mentale flexible et facile à utiliser. J'espère que cet article pourra vous être utile !
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!