Maison  >  Article  >  interface Web  >  Explication détaillée de l'utilisation de la fonction Vue.filter et de la mise en œuvre du filtrage des données

Explication détaillée de l'utilisation de la fonction Vue.filter et de la mise en œuvre du filtrage des données

WBOY
WBOYoriginal
2023-07-24 22:39:292658parcourir

Explication détaillée de l'utilisation de la fonction Vue.filter et de la mise en œuvre du filtrage des données

Dans Vue.js, nous devons souvent effectuer un traitement et un filtrage spécifiques des données pour répondre aux besoins d'affichage des pages et de logique métier. La fonction Vue.filter fournit un moyen simple et flexible d'implémenter le filtrage des données. Cet article présentera en détail l'utilisation de la fonction Vue.filter et donnera des exemples de code pratiques.

1. Utilisation de base de la fonction Vue.filter

La fonction Vue.filter est utilisée pour enregistrer un filtre global, qui peut être utilisé dans les modèles et les composants. L'utilisation spécifique est la suivante :

  1. Enregistrez le filtre dans l'instance Vue :
Vue.filter('filterName', function(value) {
  // 在这里编写过滤器的逻辑代码
  return filteredValue;
});
  1. Utilisez le filtre dans le modèle ou le composant :
{{ value | filterName }}

2. Implémentez un filtre de données simple

Utilisons un exemple simple pour illustrer l'utilisation de la fonction Vue.filter.

Supposons que vous deviez afficher le nom d'une personne sur la page et convertir le nom en majuscule, vous pouvez d'abord enregistrer un filtre nommé "majuscule", le code est le suivant :

Vue.filter('uppercase', function(value) {
  if (!value) return '';
  return value.toUpperCase();
});

Utilisez ensuite le filtre dans le modèle ou le composant, Par exemple :

<div>{{ name | uppercase }}</div>

De cette façon, lorsque la valeur du nom est "john", "JOHN" sera affiché sur la page.

3. Implémenter un filtre de données complexe

En plus d'une conversion simple, la fonction Vue.filter peut également être utilisée pour implémenter un filtrage de données plus complexe. Ceci est illustré ci-dessous avec un exemple.

Supposons qu'il existe une liste de produits, que chaque produit comporte des informations sur le prix et la remise, et que le prix réduit du produit doit être calculé. Nous pouvons enregistrer un filtre appelé « remise » et transmettre le taux de remise comme paramètre. Le code est le suivant :

Vue.filter('discount', function(value, discountRate) {
  if (!value) return '';
  return (value * discountRate).toFixed(2);
});

Utilisez ensuite ce filtre dans un modèle ou un composant, par exemple :

<div>{{ price | discount(0.8) }}</div>

De cette façon, lorsque la valeur du prix est de 10, 8,00 sera affiché sur la page, ce qui correspond à la remise calculée prix.

4. Filtres globaux personnalisés

En plus d'utiliser la fonction Vue.filter pour enregistrer des filtres globaux, nous pouvons également implémenter un filtrage global des données via le mixage global Vue.mix. Voici un exemple de code :

// 定义一个全局混入对象
var myFilterMixin = {
  filters: {
    uppercase: function(value) {
      if (!value) return '';
      return value.toUpperCase();
    },
    discount: function(value, discountRate) {
      if (!value) return '';
      return (value * discountRate).toFixed(2);
    }
  }
};

// 将全局混入对象应用到Vue实例中
Vue.mixin(myFilterMixin);

Ensuite, nous pouvons utiliser ces filtres dans n'importe quel modèle ou composant, tel que :

<div>{{ name | uppercase }}</div>
<div>{{ price | discount(0.8) }}</div>

Résumé

La fonction Vue.filter fournit un moyen simple et flexible d'implémenter le filtrage des données. En enregistrant des filtres globaux, nous pouvons facilement traiter et transformer les données. Cet article détaille l'utilisation de la fonction Vue.filter et donne des exemples de code pratiques. J'espère que cela pourra aider les lecteurs à mieux comprendre et utiliser la fonction de filtrage des données dans Vue.js.

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:
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