0

我正在学习煎茶,所以我有一个非常基本的问题。我正在尝试构建一个简单的 mvc 应用程序,其中包含控制器、视图模型和存储。

我有这个 nmodel

Ext.define('rpc.model.Studenti', {
Extend: 'Ext.data.Model',
fields: [
    { name: 'cognome', type: 'string' },
    { name: 'previsione', type: 'string' }
]
});

这家商店(带有内联数据)

Ext.define('rpc.store.Studenti', {
model: 'rpc.model.Studenti',
storeId: 'gruppoStore',
autoLoad: true,
data: [
    {cognome: 'uno', previsione: 'aaa'},
    {cognome: 'due', previsione: 'bbb'},
    {cognome: 'tre', previsione: 'ccc'}
]
});

控制器

Ext.define('rpc.controller.Home', {
extend: 'Ext.app.Controller',
stores: ['Studenti'],
models: ['Studenti'],
views: ['home.Fila','home.Griglia','home.Previsio'],
store: 'gruppoStore',
init: function() {
    this.control({
        'griglia button': {
            tap: this.faqualcosa
        }
    });
},
faqualcosa: function(button){
    ...
    var gruppoStoreMgr=this.getStudentiStore();

    alert (gruppoStoreMgr.count());
    for (var key in gruppoStoreMgr) {           
        //alert (key);
    }
    alert (gruppoStoreMgr.storeId);
    alert (gruppoStoreMgr.isInstance);
    //alert (gruppoStoreMgr.data);
    alert (gruppoStoreMgr.autoLoad);
    for (var key in gruppoStoreMgr.data[0]) {
        //alert ("0"+key);
    }
    for (var key in gruppoStoreMgr.data[1]) {
        //alert ("1"+key);
    }
}
});

请问,在 faqualcosa 函数中访问存储数据的正确方法是什么?我已经能够使用 var gruppoStoreMgr=this.getStudentiStore(); 获得模型的实例(确保它非常接近......)。但我没有记录我在商店中写入的数据(“uno”,“due”....)。如何获取这些数据?如何在控制器功能中拥有一个引用存储中真实数据的对象?

4

1 回答 1

2
this.getStudentiStore().data.items

这是获取数据的最直接方式。它返回一个模型记录数组。如果这就是你要找的。

for(var i = 0; i < this.geStudentiStore().getCount(); i++ ) {
   var record = this.getStudentiStore().getAt(i)
   console.log(record.get('cognome'));
}

那应该打印出所有的“认知”

于 2011-11-15T23:34:45.463 回答