Maison  >  Article  >  interface Web  >  Comment appeler la méthode de propriété calculée dans vue

Comment appeler la méthode de propriété calculée dans vue

PHPz
PHPzoriginal
2023-04-26 16:13:351893parcourir

Dans Vue, une propriété calculée est une propriété spéciale qui peut calculer une nouvelle valeur de propriété en fonction de la valeur d'une propriété existante. Lors du développement, nous définissons généralement certaines propriétés qui doivent être calculées en tant que propriétés calculées afin qu'elles puissent être utilisées directement dans le modèle, évitant ainsi les calculs logiques fréquents dans le code JS.

Cependant, nous devons parfois appeler la méthode d'une propriété calculée (au lieu de prendre sa valeur) dans le composant Vue. Comment y parvenir ? Dans cet article, nous présenterons plusieurs méthodes pour répondre à cette exigence.

Appeler directement les propriétés calculées

Les propriétés calculées dans les composants Vue sont accessibles comme des propriétés ordinaires, nous pouvons donc accéder aux propriétés calculées directement via this.Computed property name pour utiliser ses méthodes. Par exemple : this.计算属性名来访问计算属性,从而使用它的方法。例如:

computed: {
  fullName() {
    return this.firstName + ' ' + this.lastName;
  }
},
methods: {
  greet() {
    console.log('Hello, ' + this.fullName);
  }
}

在上述代码中,我们定义了一个fullName计算属性,在greet方法中直接使用该计算属性来打印出“Hello, 姓氏 名字”的字符串。

这种方式非常简单,但是需要注意的是,计算属性对应的方法在数据变化时不会自动执行,需要手动调用它来获取最新的计算结果。

使用计算属性的getter

除了直接调用计算属性本身,还可以使用计算属性的getter函数。计算属性的getter函数会在该属性被访问时自动调用,因此,如果我们将计算属性的逻辑封装在getter函数中,就可以在需要的地方调用该函数来获取计算结果了。例如:

computed: {
  fullName: {
    get() {
      return this.firstName + ' ' + this.lastName;
    }
  }
},
methods: {
  greet() {
    console.log('Hello, ' + this.fullName);
    // 调用计算属性的getter函数
    console.log('Hello, ' + this.fullName.get());
  }
}

在上述代码中,我们使用了计算属性的getter函数来获取计算结果,通过this.fullName.get()来访问。这种方式虽然比直接调用计算属性多了一些代码,但是可以保证在每次调用this.fullName.get()时都能获取到最新的计算结果。

使用watch监听计算属性

除了使用getter函数之外,还可以使用Vue提供的watch功能来监听计算属性的变化,从而在计算属性值发生变化时执行相应的操作。这种方式需要在watch中定义一个与计算属性同名的监听函数,并将计算属性的值作为参数传递进来。例如:

computed: {
  fullName() {
    return this.firstName + ' ' + this.lastName;
  }
},
watch: {
  fullName(newVal, oldVal) {
    console.log('计算属性值从', oldVal, '变为', newVal);
  }
},
methods: {
  greet() {
    console.log('Hello, ' + this.fullName);
  }
}

在上述代码中,我们定义了一个与计算属性同名的watch监听函数,用来监听计算属性值的变化。当计算属性的值发生变化时,这个函数就会被执行,从而可以在函数中执行相应的操作。

需要注意的是,在watch监听函数中可以获取到计算属性的新值和旧值,但是不要在监听函数中修改计算属性的值,否则会引起死循环。

总结

上述介绍了三种实现方式,实际使用中可以根据具体场景选择不同的方式。如果只是简单的获取计算属性的值,可以直接调用计算属性本身;如果需要在不同的方法中多次获取计算属性的值,建议使用计算属性的getter函数;如果需要在计算属性值变化时执行一些额外的操作,可以使用watchrrreee

Dans le code ci-dessus, nous définissons une propriété calculée fullName, et utilisons cette propriété calculée directement dans la méthode greet pour imprimer "Bonjour, prénom et nom de famille".

Cette méthode est très simple, mais il convient de noter que la méthode correspondant à l'attribut calculé ne sera pas automatiquement exécutée lorsque les données changent, et elle doit être appelée manuellement pour obtenir les derniers résultats du calcul. 🎜🎜Utilisation du getter de la propriété calculée🎜🎜En plus d'appeler directement la propriété calculée elle-même, vous pouvez également utiliser la fonction getter de la propriété calculée. La fonction getter d'une propriété calculée sera automatiquement appelée lors de l'accès à la propriété. Par conséquent, si nous encapsulons la logique de la propriété calculée dans la fonction getter, elle peut être. utilisé si nécessaire. Appelez cette fonction pour obtenir le résultat du calcul. Par exemple : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons la fonction getter de l'attribut calculé pour obtenir le résultat du calcul, accessible via this.fullName.get(). Bien que cette méthode nécessite plus de code que l'appel direct de la propriété calculée, elle peut garantir que le dernier résultat du calcul peut être obtenu à chaque fois que this.fullName.get() est appelé. 🎜🎜Utilisez watch pour surveiller les propriétés calculées🎜🎜En plus d'utiliser la fonction getter, vous pouvez également utiliser la fonction watch fournie par Vue pour surveiller les changements dans les propriétés calculées, donc quant à calculer la valeur de la propriété Effectuer les actions appropriées lorsque des changements se produisent. Cette méthode nécessite de définir une fonction d'écoute avec le même nom que la propriété calculée dans watch et de passer la valeur de la propriété calculée en paramètre. Par exemple : 🎜rrreee🎜Dans le code ci-dessus, nous définissons une fonction d'écoute watch avec le même nom que l'attribut calculé pour surveiller les changements dans la valeur de l'attribut calculé. Lorsque la valeur de la propriété calculée change, cette fonction sera exécutée, afin que les opérations correspondantes puissent être effectuées dans la fonction. 🎜🎜Il est à noter que la nouvelle valeur et l'ancienne valeur de l'attribut calculé peuvent être obtenues dans la fonction d'écoute watch, mais ne modifiez pas la valeur de l'attribut calculé dans la fonction d'écoute, sinon cela provoquera une boucle infinie. 🎜🎜Résumé🎜🎜Ce qui précède présente trois méthodes de mise en œuvre. En utilisation réelle, vous pouvez choisir différentes méthodes en fonction de scénarios spécifiques. Si vous souhaitez simplement obtenir la valeur de la propriété calculée, vous pouvez appeler directement la propriété calculée elle-même ; si vous avez besoin d'obtenir la valeur de la propriété calculée plusieurs fois dans différentes méthodes, il est recommandé d'utiliser le getter ; Fonction de la propriété calculée ; si vous devez effectuer des opérations supplémentaires lorsque la valeur de la propriété calculée change, vous pouvez utiliser watch pour surveiller la propriété calculée. 🎜🎜En général, lors de l'utilisation d'un attribut calculé, il doit être traité comme un attribut ordinaire, mais la valeur de l'attribut calculé doit être calculée en fonction des attributs existants. Si vous devez utiliser la méthode de calcul des propriétés d'un composant, vous pouvez le faire via les trois méthodes ci-dessus. Vous pouvez choisir la méthode la plus appropriée en fonction du scénario spécifique. 🎜

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