Dans les applications mobiles, les sauts de page sont l'un des problèmes qu'il faut souvent résoudre. Lors de l'utilisation d'uniapp pour développer des applications multiplateformes, le mécanisme de saut de page est différent du développement natif. L'une des différences notables est de savoir si la page actuelle est effacée après le saut de page.
Dans le développement natif traditionnel, si nous utilisons startActivity ou pushViewController et d'autres méthodes pour accéder à la page, généralement la page actuelle ne sera pas effacée, c'est-à-dire que l'utilisateur peut toujours voir l'état de la page précédente lors de son retour. Dans uniapp, nous utilisons généralement des méthodes telles que NavigTo ou redirectTo pour accéder aux pages. La méthode NavigTo n'effacera pas la page actuelle après le saut, mais la méthode redirectTo effacera la page actuelle.
Pourquoi devez-vous effacer la page actuelle ?
Dans le processus de saut de page, le comportement d'effacement de la page actuelle peut avoir un certain impact sur l'expérience utilisateur, alors pourquoi une telle conception existe-t-elle ? Nous pouvons en discuter sous les deux aspects suivants.
En développement natif, du fait de l'existence de la machine virtuelle, l'état de la page en cours n'est pas directement stocké dans la mémoire, il n'est donc pas nécessaire d'effacer la page en cours lorsque la page saute. Dans uniapp, comme le moteur weex est utilisé pour le rendu, l'état de la page est stocké directement dans la mémoire de l'application. Par conséquent, si la page actuelle n'est pas effacée, des ressources mémoire supplémentaires seront consommées pendant le processus de saut. Si l'application comporte un grand nombre de pages ou un état de page complexe, l'utilisation de la mémoire augmentera en conséquence, ce qui entraînera une diminution des performances de l'application.
Dans uniapp, en raison de la nature multiplateforme, les utilisateurs peuvent utiliser l'application dans différents scénarios. Par exemple, lorsque les utilisateurs parcourent des produits sur le terminal mobile, ils peuvent décider de finaliser l'achat sur le terminal PC. À ce stade, l'application doit offrir une expérience similaire sur différentes plates-formes, c'est-à-dire qu'une fois l'utilisateur finalisé l'achat, elle reviendra directement à la page du produit et effacera l'état de la page actuelle afin que l'utilisateur puisse effectuer une recherche ou parcourir à nouveau. Dans ce scénario, effacer la page actuelle peut apporter une meilleure expérience à l'utilisateur.
Comment y faire face dans le développement réel ?
Dans uniapp, nous pouvons accéder aux pages via différentes méthodes, donc la façon de gérer l'état de la page actuelle est également une étape importante dans le développement réel. Habituellement, nous pouvons le gérer des deux manières suivantes.
Lorsque vous utilisez la méthode naviguerTo pour accéder à une page, l'état de la page actuelle ne sera pas effacé, c'est-à-dire que vous pouvez voir l'état de la page précédente lorsque vous revenez en arrière. Si l'application comporte un petit nombre de pages ou doit conserver l'état de la page actuelle, vous pouvez choisir d'utiliser la méthode NavigTo pour sauter. Par exemple, l'extrait de code suivant :
uni.navigateTo({ url: '/pages/detail/detail?id=123' })
Lorsque vous utilisez la méthode redirectTo pour accéder à une page, l'état de la page actuelle sera effacé, c'est-à-dire que lorsque vous reviendrez en arrière, vous verrez le message rechargé. page. Si l'application doit effacer l'état de la page actuelle et recharger la page, elle peut choisir d'utiliser la méthode redirectTo pour sauter. Par exemple, l'extrait de code suivant :
uni.redirectTo({ url: '/pages/login/login' })
Bien sûr, nous pouvons également gérer librement l'état de la page actuelle lors d'un saut de page, comme effacer manuellement les données de la page actuelle avant de sauter ou stocker l'état de la page actuelle. page et revenir en arrière. Effectuer des opérations de récupération, etc.
Résumé
Le saut de page est l'une des fonctions couramment utilisées dans les applications mobiles, et c'est également un élément essentiel du développement multiplateforme d'Uniapp. Bien qu'il existe certaines différences entre Uniapp et le développement natif, les développeurs n'ont qu'à gérer correctement les différentes méthodes de saut pour obtenir les fonctions dont ils ont besoin. Lors du choix d'une méthode de saut, vous devez effectuer une sélection en fonction de la situation réelle de l'application et traiter l'état de la page actuelle si nécessaire.
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!