在使用ExtJS進行開發的時候,經常會使用到hasMany的關系,其實ExtJS也提供了便捷的方式來處理hasMany的JSON數據。
// 數據格式 var data = { id: 1, name: '小明', departments: [ { id: 100, name: '財務部' }, { id: 101, name: '市場部' } ] }; //模型定義 Ext.define('User', { extend: 'Ext.data.Model', fields: [ {name: 'id', type: 'int'}, {name: 'name', type: 'string'} ], hasMany: { model: 'Department', name: 'departments' } }); Ext.define('Department', { extend: 'Ext.data.Model', fields: [ {name: 'id', type: 'int'}, {name: 'name', type: 'string'} ], belongsTo: 'User' }); //數據解析 var user = Ext.create('User', data); console.log(user.get('name')); // '小明' console.log(user.departments().getCount()); // 2 console.log(user.departments().getAt(0).get('name')); // '財務部' console.log(user.departments().getAt(1).get('name')); // '市場部'
這里的User模型中定義了hasMany的關系,指向Department模型,并在Department模型中定義belongsTo關系,指向User模型,這樣就可以很方便地實現兩個模型之間的關聯。
數據解析時,只需要創建User模型對象,并將JSON數據作為參數傳入,就能夠獲取到關聯模型中的數據了。
下一篇jsp引入vue