Maison > interface Web > Voir.js > Comment utiliser des instructions personnalisées pour implémenter des opérations DOM dans Vue

Comment utiliser des instructions personnalisées pour implémenter des opérations DOM dans Vue

PHPz
Libérer: 2023-06-11 19:18:08
original
2027 Les gens l'ont consulté

Vue est un framework JavaScript très populaire qui peut être utilisé pour créer des applications monopage (SPA) hautes performances et évolutives. L'une des fonctionnalités puissantes réside dans les directives personnalisées, qui sont une extension basée sur les directives principales de Vue (v-model, v-if, v-for, etc.), qui peuvent être utilisées pour ajouter des comportements aux éléments DOM. Dans cet article, nous apprendrons comment utiliser des directives personnalisées dans Vue pour implémenter des opérations DOM.

  1. Créer des directives personnalisées

Vous pouvez utiliser la fonction de directive de Vue pour créer des directives personnalisées. La fonction de commande doit renvoyer un objet contenant plusieurs fonctions de hook (hooks) qui contrôlent le comportement de la commande. Ce qui suit est un modèle pour une directive personnalisée :

Vue.directive("directive-name", {
bind: function (el, liaison, vnode) {

// 在绑定元素和指令之间建立联接时触发
Copier après la connexion

},
inséré : fonction (el, liaison, vnode ) {

// 元素插入父元素之后触发
Copier après la connexion

},
mise à jour : fonction (el, liaison, vnode, oldVnode) {

// 在元素和指令所绑定的组件的 VNode 更新之后调用
Copier après la connexion

},
composantMise à jour : fonction (el, liaison, vnode, oldVnode) {

// 在组件的 VNode 及其子 VNode 全部更新后调用
Copier après la connexion

},
unbind : fonction ( el , bind, vnode) {

// 解绑时触发
Copier après la connexion

}
});

  1. Utilisation de directives personnalisées

Il existe deux façons d'utiliser des directives personnalisées dans Vue :

2.1 Enregistrement global

Enregistrement global des directives personnalisées Cela fait référence. à l'ajout de la fonction d'instruction personnalisée à la liste des fonctions d'instruction globales de l'instance Vue. De cette façon, vous pouvez utiliser des directives personnalisées dans tous les composants.

Utilisez la syntaxe Vue.directive() pour enregistrer les directives globalement :

Vue.directive("directive-name", {
//...
});

Ensuite, en HTML, vous pouvez l'utiliser dans ce qui suit way Directive personnalisée :

2.2 Enregistrement local

La directive d'enregistrement local fait référence à l'ajout de la fonction de directive à l'attribut directives du composant Vue. De cette façon, vous pouvez utiliser des directives personnalisées dans le composant.

Ce qui suit est un exemple d'enregistrement local d'une directive dans un composant Vue :

Vue.component('my-component', {
directives: {

'directive-name': {
  // ...
}
Copier après la connexion

}
})

Ensuite, dans le HTML, vous pouvez effectuez les opérations suivantes à l'aide de directives personnalisées :

  1. Exemples de directives personnalisées

Ci-dessous, nous présenterons quelques scénarios courants d'utilisation de directives personnalisées.

3.1. Mise au point automatique

Lorsqu'une zone de saisie est affichée sur la page, on s'attend généralement à ce que la zone de saisie se concentre automatiquement. Nous pouvons réaliser cette fonction grâce à des instructions personnalisées. Voici un exemple de directive d'auto-focus :

Vue.directive('focus', {
insert: function(el) {

el.focus()
Copier après la connexion

}
})

En HTML, il vous suffit d'ajouter le v- directive focus La mise au point automatique peut être obtenue :

3.2. Implémenter le chargement par défilement

Le chargement par défilement est une méthode courante de chargement par défilement infini lorsque l'utilisateur fait défiler vers le bas de la page. le chargement de plus de données. Nous pouvons réaliser cette fonction grâce à des instructions personnalisées. Voici un exemple de directive de chargement de défilement :

Vue.directive('scroll', {
insert: function (el, liaison) {

window.addEventListener('scroll', function() {
  if ((window.innerHeight + window.pageYOffset+ 50) >= document.body.offsetHeight) {
    binding.value()
  }
})
Copier après la connexion

}
})

En HTML, vous pouvez passer le v- directive scroll Pour ajouter un chargement par défilement :

Lorsque l'utilisateur fait défiler vers le bas, l'instruction déclenchera la fonction loadMoreData pour charger plus de données.

3.3. Désactiver le menu contextuel

Dans certains scénarios, vous devrez peut-être désactiver le menu contextuel, par exemple pour empêcher les utilisateurs de copier des données sensibles sur la page. Nous pouvons résoudre ce problème grâce à des instructions personnalisées. Voici un exemple de directive pour désactiver le menu contextuel :

Vue.directive('disable-right-click', {
bind: function(el) {

el.addEventListener('contextmenu', function(event) {
  event.preventDefault()
})
Copier après la connexion

}
})

En HTML, vous pouvez passer la directive v -disable-right-click pour désactiver le menu contextuel :

le contenu

  1. Conclusion

Les directives personnalisées sont très fonctionnalité puissante de Vue, elle peut être utilisée pour encapsuler et réutiliser la logique de manipulation DOM, et peut être partagée entre plusieurs composants. Dans cet article, nous avons appris comment créer et utiliser des directives personnalisées dans Vue. Si vous souhaitez en savoir plus sur les instructions et les composants de Vue, veuillez vous référer à la documentation officielle de Vue.

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal