2012-02-06 2 views
2

Hithere, у меня странная проблема, где, когда я загружаю дерево с JSON файл, он входит в цикл и отображает дерево следующим образом (в непрерывном цикле)ExtJS Загрузка дерева из файла JSON, используя MVC

-A 
    -A 
    -A 
     -A 

Мой JSON

{ 
    "success": true, 
    "results": [ 
     { "text": "number 1", "leaf": true }, 
     { "text": "number 2", "leaf": true }, 
     { "text": "number 3", "leaf": true }, 
     { "text": "number 4", "expanded": true, "children":[ 
      { "text": "number 4.1", "leaf": true }, 
      { "text": "number 4.2", "leaf": true }, 
      { "text": "number 4.3", "leaf": true } 
     ]}, 
     { "text": "number 5", "leaf": true } 
    ] 
} 

Моя модель

Ext.define('App.model.TreeModel', { 
    extend:'Ext.data.Model', 
    fields: [ 
      { name: 'text', type: 'string'} 
     ], 

     proxy:{ 
      type:'ajax', 
      url: 'data/tree.json', 
      reader:{ 
       type:'json', 
       root:'results' 
      } 
     } 
    }); 

магазин

Ext.define('App.store.MyTreeStore', { 
    extend: 'Ext.data.TreeStore', 
    requires: 'App.model.TreeModel', 
    model:'App.model.TreeModel', 
}); 

Посмотреть

Ext.define('App.view.MeetingTree', { 
    extend:'Ext.tree.Panel', 
    title:'Simple Tree', 
    store:'MyTreeStore', 
    alias:'widget.meetingtree', 
    rootVisible:false, 
    height:200 
}); 

Мой файл инициализации

Ext.application({ 
    name: 'App', 
    autoCreateViewport: true, 

    models: ['TreeModel'],  
    stores: ['MyTreeStore'], 

    launch: function() { 

    } 
}); 

не имеют понятия, почему его перекручивание .. кто получил идею?

Заранее спасибо

ответ

7

, наконец, нашли решение

Удалить линию

root:'results' 

от модели

и звезда с JSON

{ 
text: '.', 
children: [{ 

полный json

{ 
text: '.', 
children: [{ 
    text:'Basic Ext Layouts', 
    expanded: true, 
    children:[{ 
     text:'Absolute', 
     id:'absolute', 
     leaf:true 
    },{ 
     text:'Accordion', 
     id:'accordion', 
     leaf:true 
    },{ 
     text:'Anchor', 
     id:'anchor', 
     leaf:true 
    },{ 
     text:'Border', 
     id:'border', 
     leaf:true 
    },{ 
     text:'Card (TabPanel)', 
     id:'card-tabs', 
     leaf:true 
    },{ 
     text:'Card (Wizard)', 
     id:'card-wizard', 
     leaf:true 
    },{ 
     text:'Column', 
     id:'column', 
     leaf:true 
    },{ 
     text:'Fit', 
     id:'fit', 
     leaf:true 
    },{ 
     text:'Table', 
     id:'table', 
     leaf:true 
    },{ 
     text:'vBox', 
     id:'vbox', 
     leaf:true 
    },{ 
     text:'hBox', 
     id:'hbox', 
     leaf:true 
    }] 
},{ 
    text:'Custom Layouts', 
    children:[{ 
     text:'Center', 
     id:'center', 
     leaf:true 
    }] 
},{ 
    text:'Combination Examples', 
    children:[{ 
     text:'Absolute Layout Form', 
     id:'abs-form', 
     leaf:true 
    },{ 
     text:'Tabs with Nested Layouts', 
     id:'tabs-nested-layouts', 
     leaf:true 
    }] 
}] 
}