


Introduction à plusieurs méthodes de définition de modèles de composants dans Vue.js
Vue.js utilise une syntaxe de modèle basée sur HTML qui permet aux développeurs de lier de manière déclarative le DOM aux données de l'instance Vue sous-jacente. Tous les modèles Vue.js sont du HTML légal et peuvent être analysés par les navigateurs et les analyseurs HTML qui suivent la spécification.
Il existe de nombreuses options pour définir des modèles de composants dans Vue. Il me semble qu'il existe au moins sept manières différentes :
String
Modèle littéral
-
- Composant d'une seule page
- Dans cet article, nous passerons en revue des exemples de chaque approche et discuterons de leurs avantages et inconvénients afin que vous sachiez quoi faire. faire en particulier Quelle méthode est la meilleure à utiliser dans les circonstances.
- 1. Chaîne
-
Par défaut, le modèle sera défini comme une chaîne dans le fichier JS. Je pense que nous pouvons tous convenir que les modèles en chaînes sont très difficiles à comprendre. Il n'y a rien de spécial dans cette méthode autre que la large prise en charge du navigateur.
Vue.component('my-checkbox', { template: `<div class="checkbox-wrapper" @click="check"> <div :class="{ checkbox: true, checked: checked }"> </div><div class="title">{{ title }}</div></div>`, data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } } });
Copier après la connexion
2. Littéraux de modèles
Les littéraux de modèles ES6 ("backticks") vous permettent de définir des modèles sur plusieurs lignes, ce qui Cela ne peut pas être fait avec des chaînes Javascript classiques. Bien que vous devriez probablement toujours convertir vers ES5 par mesure de sécurité, de nombreux nouveaux navigateurs prennent désormais en charge ces commandes et sont plus faciles à lire.
Cette approche n'est cependant pas parfaite ; j'ai constaté que la plupart des IDE vous rendent toujours malheureux avec la coloration syntaxique, les tabulations, les sauts de ligne, etc.
Vue.component('my-checkbox', { template: ` < div class = "checkbox-wrapper"@click = "check" > <div: class = "{ checkbox: true, checked: checked }" ></div> <div class="title">{{ title }}</div ></div>`, data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } } });/
3. Les balises de script sont marquées par le texte /x-template et référencées par id dans la définition du composant. J'aime cette approche, elle permet d'écrire du HTML avec le balisage HTML correct, mais l'inconvénient est qu'elle sépare le modèle du reste de la définition du composant. Vue.component('my-checkbox', {
template: '#checkbox-template',
data() {
return { checked: false, title: 'Check me' }
},
methods: {
check() { this.checked = !this.checked; }
}
});
En ajoutant l'attribut inline-template au composant, vous pouvez indiquer à Vue que le contenu interne est son modèle, plutôt que de le considérer comme un contenu distribué.
Il présente les mêmes inconvénients que les modèles X, mais un avantage est le positionnement correct du contenu dans le HTML. modèle, donc peut être rendu lorsque la page se charge au lieu d'attendre que Javascript soit exécuté. <script type="text/x-template" id="checkbox-template">
<div class="checkbox-wrapper" @click="check">
<div :class="{ checkbox: true, checked: checked }"></div>
<div class="title">{{ title }}</div>
</div>
</script>
Vue.component('my-checkbox', {
data() {
return { checked: false, title: 'Check me' }
},
methods: {
check() { this.checked = !this.checked; }
}
});
5. Fonction de rendu
Cependant, l'avantage est que le modèle est plus proche du compilateur et vous permet d'accéder à l'intégralité des fonctionnalités Javascript plutôt qu'au sous-ensemble fourni par la directive. <my-checkbox inline-template>
<div class="checkbox-wrapper" @click="check">
<div :class="{ checkbox: true, checked: checked }"></div>
<div class="title">{{ title }}</div>
</div>
</my-checkbox>
L'option de modèle la plus controversée dans Vue est JSX. Certains développeurs considèrent JSX laid, peu intuitif et une trahison de l'esprit de Vue.
JSX vous oblige à le convertir d'abord car les navigateurs ne peuvent pas le lire. Cependant, si vous devez utiliser des fonctions de rendu, JSX est certainement une manière moins abstraite de définir des modèles. 7. Composants de fichier uniqueVue.component('my-checkbox', { data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } }, render(createElement) { return createElement( 'div', { attrs: { 'class': 'checkbox-wrapper' }, on: { click: this.check } }, [ createElement( 'div', { 'class': { checkbox: true, checked: this.checked } } ), createElement( 'div', { attrs: { 'class': 'title' } }, [ this.title ] ) ] ); } });
Vue.component('my-checkbox', { data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } }, render() { return <div class="checkbox-wrapper" onClick={ this.check }> <div class={{ checkbox: true, checked: this.checked }}></div> <div class="title">{ this.title }</div> </div> } });
Bien sûr, il n'y a pas de méthode parfaite et chacune doit être jugée en fonction de votre cas d'utilisation. Je pense que les meilleurs développeurs réalisent toutes les possibilités et font de chaque développeur un outil dans leur ceinture d'outils Vue.js !
Adresse originale en anglais : https://vuejsdevelopers.com/2017/03/24/vue-js-component-templates/ Recommandations associées :Un résumé des questions d'entretien Front-end Vue en 2020 (avec réponses)
Recommandation du tutoriel Vue : la dernière vidéo 5 vue.js tutoriels sélectionnés en 2020 Pour plus de connaissances liées à la programmation, veuillez visiter :Introduction à la programmation ! !
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Lorsque nous utilisons le framework Vue pour développer des projets front-end, nous déploierons plusieurs environnements lors du déploiement. Souvent, les noms de domaine d'interface appelés par les environnements de développement, de test et en ligne sont différents. Comment peut-on faire la distinction ? Cela utilise des variables et des modèles d'environnement.

La différence entre la modularisation et la modularisation : la modularisation est divisée du point de vue de la logique du code ; elle facilite le développement en couches de code et garantit la cohérence des fonctions de chaque module fonctionnel. La composantisation est planifiée du point de vue de l'interface utilisateur ; la composantisation du frontal facilite la réutilisation des composants de l'interface utilisateur.

Ace est un éditeur de code intégrable écrit en JavaScript. Il correspond aux fonctionnalités et aux performances des éditeurs natifs comme Sublime, Vim et TextMate. Il peut être facilement intégré à n’importe quelle page Web et application JavaScript. Ace est maintenu en tant qu'éditeur principal de l'IDE Cloud9 et est le successeur du projet Mozilla Skywriter (Bespin).

vscode lui-même prend en charge les composants de fichiers Vue pour accéder aux définitions, mais la prise en charge est très faible. Sous la configuration de vue-cli, nous pouvons écrire de nombreuses utilisations flexibles, ce qui peut améliorer notre efficacité de production. Mais ce sont ces méthodes d'écriture flexibles qui empêchent les fonctions fournies par vscode lui-même de prendre en charge le passage aux définitions de fichiers. Afin d'être compatible avec ces méthodes d'écriture flexibles et d'améliorer l'efficacité du travail, j'ai écrit un plug-in vscode qui prend en charge les fichiers Vue pour accéder aux définitions.

Vue.js est devenu aujourd'hui un framework très populaire dans le développement front-end. À mesure que Vue.js continue d'évoluer, les tests unitaires deviennent de plus en plus importants. Aujourd'hui, nous allons explorer comment écrire des tests unitaires dans Vue.js 3 et fournir quelques bonnes pratiques ainsi que des problèmes et solutions courants.

Avant-propos : Dans le développement de vue3, réactif fournit une méthode pour implémenter des données réactives. Il s'agit d'une API fréquemment utilisée dans le développement quotidien. Dans cet article, l’auteur explorera son mécanisme de fonctionnement interne.

Dans Vue.js, les développeurs peuvent utiliser deux syntaxes différentes pour créer des interfaces utilisateur : la syntaxe JSX et la syntaxe des modèles. Les deux syntaxes ont leurs propres avantages et inconvénients. Discutons de leurs différences, avantages et inconvénients.

Comment gérer les exceptions dans les composants dynamiques Vue3 ? L'article suivant parlera des méthodes de gestion des exceptions des composants dynamiques Vue3. J'espère qu'il sera utile à tout le monde !
