Maison >interface Web >uni-app >Pourquoi la page de modification des valeurs des composants dans uniapp ne se met-elle pas à jour ?

Pourquoi la page de modification des valeurs des composants dans uniapp ne se met-elle pas à jour ?

PHPz
PHPzoriginal
2023-04-20 09:08:233517parcourir

Avec le développement continu de la technologie de développement mobile, de nombreux nouveaux frameworks ou outils techniques sont apparus, parmi lesquels uniapp est un framework de développement multiplateforme Basé sur les avantages du framework Vue et de la technologie de développement de petits programmes, il peut développer rapidement des produits. qui conviennent également aux applications des systèmes d’exploitation Android et iOS. Cependant, lors du développement avec uniapp, nous pouvons rencontrer certains problèmes. Par exemple, parfois après avoir modifié la valeur d'un composant, la page n'est pas mise à jour. Que se passe-t-il ?

1. Communication entre composants Uniapp

Dans le développement d'uniapp, la communication entre composants est très courante. Nous pouvons réaliser le transfert de données entre les composants de plusieurs manières. Parmi eux, il est très courant que les composants parents transmettent des données aux composants enfants. Nous pouvons utiliser des accessoires pour atteindre cet objectif.

2. La page est mise à jour après avoir modifié la valeur du composant

Lorsque nous utilisons des accessoires pour transférer des données vers des composants enfants, nous maintenons généralement un état de données dans le composant parent et transmettons cet état au composant enfant via des accessoires. Cependant, une fois que le composant parent a modifié cet état, le composant enfant n'a pas été mis à jour.

Pour ce problème, uniapp fournit en fait une syntaxe de surveillance très pratique, qui peut surveiller les modifications des données et effectuer les opérations correspondantes. L'utilisation spécifique est la suivante :

// 子组件
export default {
  props: {
    value: {
      type: String,
      default: ''
    }
  },
  data() {
    return {
      dataValue: this.value
    }
  },
  watch: {
    value(newVal) {
      this.dataValue = newVal
    }
  },
  methods: {
    handleOnChange(e) {
      this.$emit('input', e.target.value)
    }
  }
}

// 父组件
export default {
  data() {
    return {
      inputValue: ''
    }
  },
  methods: {
    handleInputChange() {
      this.inputValue = 'hello world'
    }
  }
}

Dans le code ci-dessus, nous pouvons voir qu'un état dataValue est défini dans le composant enfant, et les changements de valeur transmis par le composant parent sont surveillés et exploités, garantissant que le composant enfant obtient toujours les données les plus récentes.

3. Résumé

Dans le développement d'uniapp, en utilisant props et watch, nous pouvons très facilement implémenter le composant parent pour transférer des données vers le composant enfant et garantir que le composant enfant obtient toujours les dernières données. J'espère que cet article pourra vous aider à résoudre les problèmes que vous rencontrez lors du développement.

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