backbone.js la structuration de vues imbriquées et modèles

À l'aide de backbone.js:

J'ai un haut niveau de ModelA qui contient 2 attributs et 2 modèles imbriqués, ModelB et ModelC. ModelB et ModelC ont chacun 2 attributs comme suit:

ModelA
    attributeA1
    attributeA2
    ModelB
        attributeB1
        attributeB2
    ModelC
        attributeC1
        attributeC2

Il y a un ViewA pour ModelA, et un ViewB pour ModelB.
ViewA render fonction place un nouveau div sur le corps, tandis que ViewB rendu d'crée un h1. ViewA de l'initialisation des appels ViewB de rendu pour insérer le h1 dans le nouveau div. La raison de cette séparation est que le h1 peut changer et besoin d'un re-rendu indépendant de ViewA.

ViewA
    initialise: 
        //call ViewA's own render function
        this.render() 

        //call ViewB's render function that further modifies the $("#new") div created earlier.
        $("#new").append(ViewB.render().el)

    //ViewA's own render function
    render: //place <div id="new"></div> onto 'body'

ViewB
    render: //create a <h1></h1>
    funcB1: //can this access it's parent ModelA's attributes and other objects?

Q1: ViewB a une fonction funcB1. Cette fonction d'accès: c'est parent du modèle d'attributs? Les attributs tels que la attributeA1, ou même attributeC1 (ce qui serait un frère ou une sœur/cousine)?

T2: une autre extension de T1, peut funcB1 accéder aux éléments du DOM associés à ViewA? (dans cet exemple, le #new div?)

Q3: En général, comment puis-je définir les associations entre les Vues et les Modèles décrits ci-dessus, de sorte que tout relie correctement?

Je me rends compte que cette question est un peu abstrait, mais de toute reconnaissant de toute aide ou des lignes directrices apprécié.

  • Avez-vous essayé d'écrire des tests pour voir si les réponses à vos questions?
  • J'ai essayé de jouer avec un peu de code pour les T1 et T2, mais ne pouvait pas les faire travailler. J'ai pensé que la meilleure façon de poser cette question a été juste en pseudo-code et permettre au plus js-versé gars là-bas pour me pointer dans la bonne direction.
  • Je vous suggère de vous écrire séparer les questions avec le défaut de code, de sorte que js programmeurs peuvent pointer ce qui ne va pas.
  • Bien sûr, c'est juste, je vais essayer d'écrire un peu. En tout cas, si quelqu'un veut encore fournir d'informations toujours la bienvenue!
  • Voici un lien (bien que plus générique) question & réponse longue pour plus de perspicacité sur ce point: stackoverflow.com/questions/10077185/...
InformationsquelleAutor fortuneRice | 2011-06-15