首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ExtJS 4-请解释模型和商店

ExtJS 4-请解释模型和商店
EN

Stack Overflow用户
提问于 2012-07-11 12:47:11
回答 2查看 7.5K关注 0票数 1

我正试着把最简单的事情想清楚:

我想通过返回JSON的服务器端调用加载对象集合,

为什么所有这些都会返回一些意想不到的东西?

代码语言:javascript
运行
复制
> modelStore.data.items[0].Id
undefined
> modelStore.data.items[0].getId()
undefined
> modelStore.data.items[0].getTitle()
TypeError: Object [object Object] has no method 'getTitle'
> modelStore.getById(1)
null
> modelStore.getTotalCount()
1
> modelStore.first()
Ext.Class.newClass < should be PegModel??

代码:

代码语言:javascript
运行
复制
Ext.define('PegfileApp.model.PegModel', {

  extend: 'Ext.data.Model',

  fields: ['Id', 'Title'],

  //hasMany: {model: 'RootDimension', name: 'rootDimensions'},

  proxy:
  {
    type: 'ajax',
    url: 'PegModel',
    timeout: 120000,
    noCache: false,
    reader:
    {
      root: 'PegModel',
      successProperty: 'success'
    }
  }
});

Ext.define('PegfileApp.store.PegModels', {
  extend: 'Ext.data.Store',
  model: 'PegfileApp.model.PegModel',
  autoLoad: true,
  autoSync: false,
  proxy: {
    type: 'ajax',
    url: 'PegModel',
    reader: {
      type: 'json',
      root: 'PegModels',
      successProperty: 'success'
    }
  }
});

数据:

代码语言:javascript
运行
复制
{"PegModels":[{"Title":"PegModel","Id":1}],"success":true}

我理解了模型上定义的每个属性,我们有一个相应的getter: get{PropertyName}()?

我是否需要将“唱片”以某种方式投给“模型”?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-11 12:51:13

你快到了。:)

商店有许多模型,但您不能通过items[]直接访问它们。例如,如果使用store.getAt(index)方法,则使用store.items[index]方法。

还可以查看store.find()方法和类似的方法,以了解如何获得特定记录的索引。

一旦您获得了作为模型实例的记录,就可以使用record.get('fieldname')获取不同的字段。

票数 3
EN

Stack Overflow用户

发布于 2015-01-16 15:34:56

意识到这是一个旧的职位,但这仍然是很多,即使在今天。要简化,请考虑对对象建模,并存储数组。商店是一个对象数组。有时你只处理一个物体。其他情况下,您希望使用对象集合。Ext等库使用允许您更方便地对它们进行操作的方法扩展这些“对象”和“数组”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11432989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档