日期:2014-05-16 浏览次数:20391 次
//动态调用另外一个JS文件中的Model
Ext.Loader.setConfig({
enabled : true,
paths : {
common:'JS/common'
}
});
//小弟试过,如果在动态调用其它JS中的Model时,如果不先实例化,会报错
//若各位大虾认为不对,还请大虾们给个解决方法呀~~~
var a = Ext.create('common.teacher',{});
var b = Ext.create('common.student',{});
//按照ExtJs官方文档写的一个
var store = Ext.create('Ext.data.Store', {
model: 'common.teacher',
autoLoad: true,
proxy: {
type: 'ajax',
url : 'teacher.xml',
reader: {
type: 'xml',
root: 'teacherList',
record: 'teacher',
implicitIncludes:true
}
}
});
//读入XML文件
store.load();
//遍历store并且查看store中的数据
store.each(function(temp){
//运用hasMany中的函数取得子store
var pp = temp.students();
//输出子store,这里是为了方便在firebug里面查看东西,加的一步
alert(pp);
});
Ext.define('common.teacher',{
extend:'Ext.data.Model',
fields:['name'],
hasMany:{model:'common.student', name:'students'}
});
Ext.define('common.student',{
extend:'Ext.data.Model',
fields:['name'],
belongsTo:{type:'belongsTo', model:'common.teacher'}
});
<?xml version="1.0" encoding="UTF-8"?>
<teacherList>
<teacher>
<name>teacher1</name>
<students>
<name>student1_1</name>
</students>
</teacher>
</teacherList>