Cet article explore la composition visuelle d'Aurelia, une fonctionnalité puissante pour construire des UIS complexes en utilisant des composants réutilisables. Au lieu des démos triviales habituelles, nous allons construire une application de générateur de rapport présentant cette capacité. Une démo en direct et un code source sont disponibles (liens omis pour la concision).
Concepts clés:
- Composition visuelle: Aurelia permet de construire des vues complexes en combinant des sous-vues plus petites et réutilisables. Cela diffère de la composition traditionnelle basée sur le routage.
-
compose
Élément: Cet élément personnalisé simplifie les paires de modèle de vue d'intégration dans une vue parent, augmentant la modularité et la réutilisabilité. - eventAggregator: permet une communication inter-composants transparente sans couplage serré, facilitant l'interaction entre des éléments comme la boîte à outils et le rapport.
- Bibliothèques externes: Intégrer facilement des bibliothèques comme Sortable.js pour les fonctionnalités de glisser-déposer, présentant la flexibilité d'Aurelia.
- Animations: La bibliothèque d'animation d'Aurelia et les animations CSS fournissent des commentaires visuels, améliorant l'expérience utilisateur.
- Système de plugin: prend en charge le code personnalisé réutilisable et nettoie les bases de code en séparant les fonctionnalités partagées en packages.
Comprendre la composition visuelle:
La composition visuelle, en substance, combine des vues plus petites en plus grandes et plus complexes. Cela diffère entre Homogène Composition (répétitif des éléments du même type) et Composition hétérogène (combinant des vues de différents types). Le routage traditionnel gère souvent cela, mais Aurelia fournit une approche plus flexible et de première classe via l'élément compose
, favorisant la modularité et la réutilisabilité.
Types de composition visuelle
en utilisant l'élément compose
d'Aurelia:
L'élément compose
simplifie l'intégration d'une paire de modèles de vue (vue et modèle de vue, souvent appelée "page"). Vous spécifiez le nom de fichier du modèle de vue à l'aide de l'attribut view-model
. Les données peuvent être transmises à l'aide de l'attribut model
. Le modèle de vue peut éventuellement définir une méthode activate
pour recevoir ces données, renvoyant potentiellement une promesse d'opérations asynchrones. De plus, vous pouvez spécifier une vue alternative à l'aide de l'attribut view
, en choisissant dynamiquement la vue en fonction des propriétés du modèle de vue parent ou même d'une fonction dans le modèle de vue d'enfant (getViewStrategy
).
Configuration du projet:
Le constructeur de rapports est basé sur l'application Aurelia Skeleton Navigation (lien github omis). Le routeur est supprimé; L'application utilise une seule vue complexe composée de sous-vues. Les instructions d'installation sont disponibles dans la lecture du projet.
Structure de la vue de rapport:
app.html
agit comme le récipient principal, composant les vues toolbox
et report
. toolbox.html
Affiche les widgets et boutons disponibles pour l'impression ou la compensation du rapport. Chaque widget (par exemple, logo.html
, textblock.html
) est un composant autonome. La vue report.html
affiche des widgets qui y sont ajoutés, en utilisant à la fois une composition homogène et hétérogène. La fonction removeWidget
dans le rapport de vue du rapport de vue de la vue en supprimant les widgets.
Communication inter-composants:
Le EventAggregator
facilite le couplage lâche entre les composants. Le bouton clearReport
de la boîte à outils publie un événement «ClearReport», auquel le modèle de vue du rapport abonne et utilise pour effacer ses widgets.
bibliothèques et plugins externes:
sortable.js (installé via jspm) gère les fonctionnalités de glisser-déposer. Aurelia Animator CSS (installé via JSPM) fournit des animations. Le système de plugin permet de créer des composants et des fonctionnalités personnalisés réutilisables.
Animations:
Les classes au-stagger
et au-animate
dans les vues, combinées avec des animations CSS, créent une rétroaction visuelle pendant la composition et la suppression du widget.
Implémentation de glisser-déposer:
sortable.js est utilisé dans les modèles de vue toolbox
et report
. Le gestionnaire onAdd
dans le modèle de vue report
Affichage ajoute de nouveaux widgets au rapport, gérer l'entrée de texte pour TextBlocks.
Conclusion:
La composition visuelle d'Aurelia, combinée avec le système et le système de plugin, fournit une approche puissante et flexible pour construire des UIS complexes et modulaires. L'exemple de générateur de rapport le démontre efficacement. EventAggregator
(Section des questions fréquemment posées omises pour la concision, car elle est largement redondante compte tenu de l'explication détaillée ci-dessus.)
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!

Explication détaillée de la méthode de remplacement de la chaîne JavaScript et de la FAQ Cet article explorera deux façons de remplacer les caractères de chaîne dans JavaScript: le code JavaScript interne et le HTML interne pour les pages Web. Remplacer la chaîne dans le code JavaScript Le moyen le plus direct consiste à utiliser la méthode Remplace (): str = str.replace ("trouver", "remplacer"); Cette méthode remplace uniquement la première correspondance. Pour remplacer toutes les correspondances, utilisez une expression régulière et ajoutez le drapeau global G: str = str.replace (/ fi

Vous voici donc, prêt à tout savoir sur cette chose appelée Ajax. Mais qu'est-ce que c'est exactement? Le terme Ajax fait référence à un regroupement lâche de technologies utilisées pour créer un contenu Web interactif dynamique. Le terme Ajax, inventé à l'origine par Jesse J

10 plugins de jeu JQuery amusants pour rendre votre site Web plus attrayant et améliorer l'adhérence des utilisateurs! Bien que Flash soit toujours le meilleur logiciel pour développer des jeux Web occasionnels, JQuery peut également créer des effets surprenants, et bien qu'il ne soit pas comparable aux jeux Flash Pure Action, dans certains cas, vous pouvez également vous amuser inattendu dans votre navigateur. jeu jquery tic toe Le "Hello World" de la programmation de jeux a désormais une version jQuery. Code source JQUERY Crazy Word Composition Game Il s'agit d'un jeu de remplissage, et il peut produire des résultats étranges en raison de ne pas connaître le contexte du mot. Code source Jeu de balayage de la mine jQuery

L'article discute de la création, de la publication et du maintien des bibliothèques JavaScript, en se concentrant sur la planification, le développement, les tests, la documentation et les stratégies de promotion.

Ce tutoriel montre comment créer un effet de fond de parallaxe captivant à l'aide de jQuery. Nous allons construire une bannière d'en-tête avec des images en couches qui créent une profondeur visuelle étonnante. Le plugin mis à jour fonctionne avec jQuery 1.6.4 et plus tard. Télécharger le

L'article traite des stratégies pour optimiser les performances JavaScript dans les navigateurs, en nous concentrant sur la réduction du temps d'exécution et la minimisation de l'impact sur la vitesse de chargement de la page.

Matter.js est un moteur de physique du corps rigide 2D écrit en JavaScript. Cette bibliothèque peut vous aider à simuler facilement la physique 2D dans votre navigateur. Il fournit de nombreuses fonctionnalités, telles que la capacité de créer des corps rigides et d'attribuer des propriétés physiques telles que la masse, la zone ou la densité. Vous pouvez également simuler différents types de collisions et de forces, tels que la frottement de gravité. Matter.js prend en charge tous les navigateurs grand public. De plus, il convient aux appareils mobiles car il détecte les touches et est réactif. Toutes ces fonctionnalités font de votre temps pour apprendre à utiliser le moteur, car cela facilite la création d'un jeu ou d'une simulation 2D basé sur la physique. Dans ce tutoriel, je couvrirai les bases de cette bibliothèque, y compris son installation et son utilisation, et fournir un

Cet article montre comment actualiser automatiquement le contenu d'un div toutes les 5 secondes à l'aide de jQuery et Ajax. L'exemple récupère et affiche les derniers articles de blog d'un flux RSS, ainsi que le dernier horodatage de rafraîchissement. Une image de chargement est en optiona


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),