Ajouter dynamiquement des régions de la Marionnette de mise en page
J'ai une mise en page, mais ne peut pas définir l'ensemble de ses régions à l'avance, car ils ne sont pas connus.
Plus tard, sur un ItemView est créé et j'aimerais créer une nouvelle région dans la mise en page à l'aide de l'affichage de l'ID de la région du nom donc, je peux alors dire:
layout.dynamicRegionName.show(newItemView);
Mais il y a dépendance cyclique ici.
- Je n'ai pas rendu la vue, de sorte que je ne peut pas faire une référence à l'élément du DOM pour être utilisé dans la mise en page à l'appel .addRegion()
- Je ne peux pas le rendre, précisément parce que je veux qu'il s'est attaché à l'arbre du DOM par le biais de la dynamique ajouté région en appelant son .show()
@DerickBailey Dans la Marionnette.Mise en page des documents github je crois qu'il y est une erreur dans l'exemple a: layout.show(new MenuView());
mais techniquement, c'est proche de ce que nous aurions besoin ici, c'est à dire être capable de faire:
layout.addRegion(VAR_WITH_NEW_REGION_NAME, aViewInstance);
et à ajouter une nouvelle Région dans la mise en page de rendu directement à l'intérieur de l'instance de vue.
Ai-je raté quelque autre façon évidente à réaliser cet objectif? C'est qu'une absence de fonctionnalité? Est-il une raison de ne pas l'avoir?
Je suis conscient de ce précédent Q: "Dynamiquement ajouter/supprimer des régions, à une mise en page"
mais ne voyez pas tout effacer/réponse définitive.
OriginalL'auteur Thalis K. | 2013-03-28
Vous devez vous connecter pour publier un commentaire.
Marionnette v1.0 (v1.0.2 est plus tard, pour l'instant) prend en charge les régions dynamiques dans les Mises en page.
Oui, le modèle doit contenir les el. Donc addRegion est une sorte de bizarre :-/
Pas vraiment "bizarre" en tant que tel. Une région est un conteneur qui vient de s'enroule autour d'un élément donné. De même, lorsque vous supprimez une région, il ne supprimera pas l'élément DOM, juste l'objet de région.
Je comprends qu'il est destiné à travailler de cette façon, mais juste parce que c'est une fonctionnalité par l'auteur ne veut pas dire qu'il n'est pas bizarre d'un utilisateur final, du point de vue. Il ne se sent bizarre que j'ai toujours besoin d'avoir un wrapper el pour "ajouter de la Région". Je suis venu à cette question après googler "dynamique de la marionnette de la région", en espérant que je serais capable d'avoir un seul vide de l'élément racine des différentes régions ont pu être joints. C'est ce que les gens pensent normalement, quand ils entendent "dynamique". Pour moi, ça sonne assez statique.
OriginalL'auteur Derick Bailey
Dans un de mes projets, j'ai été confronté à un problème similaire. J'avais besoin de créer dynamiquement un formulaire, j'.e de la forme que pourrait contenir des différentes vues du champ qui ne peut pas être déterminé avant le début de l'exécution. J'avais besoin de la les champs de la Marionnette points de vue parce qu'ils avaient assez compliqué comportement.
La façon dont je l'ai fait à de Marionnettes 1.4
CoffeeScript
:S'il vous plaît, laissez-moi savoir si il a besoin de plus amples explications ou je peux clarifier ce point dans JS. Je suis aussi conscient que c'est une réponse tardive, cependant, l'espoir que quelqu'un puisse trouver c'est toujours utile. Aussi, remarque - la réponse est pertinente que pour Marionnettes 1.x
OriginalL'auteur Vasyl Pedak