2012-02-06 38 views
2

Hithere從JSON文件加載樹,我有一個奇怪的問題在那裏,當我從一個JSON加載樹文件,它進入一個循環,並如下顯示樹(以連續循環)ExtJS的使用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 
}); 

我的init文件

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

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

    launch: function() { 

    } 
}); 

沒有一個線索,爲什麼它的循環..任何人有一個想法?

在此先感謝

回答

7

終於找到了解決辦法

從模型

刪除線

root:'results' 

,並與明星JSON

{ 
text: '.', 
children: [{ 

full 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 
    }] 
}] 
}