2012-03-28 13 views
0

Ich versuche, herauszufinden, wie eine Baumstruktur wie diese in der richtigen Modellinstanzen zu lesen:Sencha Touch 2 Lesebaumstruktur von json

{ 
    "name":"root" 
    "kids":[ 
     { 
      "name":"kid1", 
      "kids": [...] //More kids 
     }, 
     { 
      "name":"kid2", 
      "kids": [...] //More kids 
     }, 
     { 
      "name":"kid3", 
      "kids": [] 
     }, 
     ... 
    ] 
} 

Hier sind zwei der Modelle, die ich versucht habe:

Ext.define('TreeNode', { 
    extend: 'Ext.data.Model', 

    config: { 
     fields: ['name'], 
     hasMany:{model: 'TreeNode', name: 'kids'} 
    } 
}); 

//This one seems to work, but it simply loads 
//generic objects into the "kids" property 
//and not real model instances. 
Ext.define('TreeNode', { 
    extend: 'Ext.data.Model', 

    config: { 
     fields: ['name', 'kids'] 
    } 
}); 

und der Laden:

Ext.define('TreeStructureStore', { 
    extend: 'Ext.data.Store', 

    config: { 
     autoLoad: false, 
     model: 'TreeNode', 

     proxy: { 
      type: 'ajax', 
      url: 'simple.json', 
      reader: { 
       type: 'json' 
      } 
     } 
    } 
}); 

ich nicht das Modell und speichern scheinen zu bekommen richtig zu arbeiten. Im besten Fall wird nur das oberste Element gelesen. Wie kann ich es rekursiv nach unten lesen und den richtigen Modellinstanzbaum erstellen?

Antwort