相关疑难解决方法(0)

ExtJS,store,HasMany - BelongsTo和更新过程:howto?

我有两个数据模型:Writer.AttributValeur和Writer.Produit.

Writer.Produit有HasMany/ BelongsTo有关系Writer.AttributValeur.

因此定义是这样的:

Ext.define('Writer.AttributValeur', {
    extend: 'Ext.data.Model',
    fields: [{
            name: 'id',
            type: 'int',
            useNull: true
        },  
        'description',
        'val'
    ],  
    belongsTo: 'Writer.Produit'
});

Ext.define('Writer.Produit', {
    extend: 'Ext.data.Model',
    fields: [{
            name: 'id',
            type: 'int',
            useNull: true
        },  
        'titre',
        'description'
    ],
    hasMany: {
        model: 'Writer.AttributValeur',
        name: 'attributs'
    }   
});

var store = Ext.create('Ext.data.Store', {
    model: 'Writer.Produit',
    autoLoad: true,
    autoSync: true,
    proxy: {
        type: 'ajax',
        api: {
            read: 'json/liste_view/',
            create:  'json/item/?mode=create',
            update:  'json/item/?mode=update', …
Run Code Online (Sandbox Code Playgroud)

extjs extjs4

8
推荐指数
1
解决办法
1万
查看次数

Extjs 4 Ext.data.Model:如何为嵌套对象建模

我是Extjs 4的新手,我试图了解如何为具有嵌套对象的数据创建模型。

示例数据:

{
  data1:{
      field1:1,
      field2:2,

      **objField1**:{
          objField1:1,
          objField2:2,

          **anotherObj**:{
             field1:1,
             field2:2,
             arrayofObjs:[
               {
                 //... 
               },
               //...
             ]
          }
      },

      objField2:{
          //... Some more fields or objects
      },

  data2:{
     //...
  }
}
Run Code Online (Sandbox Code Playgroud)

我试图了解如何对这些数据进行建模。领域很容易

Ext.define('MyModel', {
extend: 'Ext.data.Model',
fields: [
    {name: 'field1',  type: 'int'},
    {name: 'field2',   type: 'int'}
], //...
Run Code Online (Sandbox Code Playgroud)

但是如何建模对象?我当时以为可以为子对象和设置关联创建模型,但是在阅读了文档之后,它们似乎需要具有ID。因此,如果您查看belongsTo页面,则“所有者模型应具有引用关联模型主键的外键”。

我不是要对具有外键关系的数据进行建模,而只是对带有子对象的对象进行建模。因此,服务器可能会返回一个带有多个子对象的JSON对象,而我可能想要将其绑定到网格的那些对象之一,将另一个对象的数据绑定到一个选择框,等等。

谢谢!

extjs

2
推荐指数
1
解决办法
6983
查看次数

标签 统计

extjs ×2

extjs4 ×1