Extjs: передача переменной в хранилище контроллеру

У меня есть пользовательский объект View, который отображается из хранилища данных в Extjs:

Ext.define('MemOS.view.Shortcut', {
    extend: 'Ext.view.View',
    alias: 'widget.shortcut',

    name: 'shortcut',
    singleSelect: true,
    store: 'Apps',
    tpl: [
        '<tpl for=".">',
            '<div id="iconGroup" class="icon-wrap">',
                '<div id="icon" class="icon">',
                    '<img src="/images/icons/" />',
                '</div>',
                '<span> {appName} </span>',
            '</div>',
        '</tpl>'
    ],  
    itemSelector: 'div.icon',
    plugins: [
        Ext.create('Ext.ux.DataView.DragSelector', {}),
        //Ext.create('Ext.ux.DataView.Draggable', {})
    ],
});

У меня также есть контроллер с событием, которое вызывается при двойном щелчке элемента в магазине:

Ext.define('MemOS.controller.Shortcut', {
    extend: ('Ext.app.Controller'),
    stores: ['Apps'],
    views: ['Shortcut'],

    ref: [{
            ref: 'shortcut-one',
            selection: '',
            xtype: 'shortcut',
            autoCreate: true        
    }],

    init: function(){
        this.control({
            'shortcut': {
                itemdblclick: function(d, i, n, e) {
                    console.log('Display Value From Data Store Here');
                }
            }
        });
    },
}); 

Что я хотел бы сделать, так это передать значение хранилища данных элемента, по которому щелкнули, контроллеру, чтобы я мог затем отобразить соответствующее значение в окне предупреждения. Моя цель - позже использовать это, чтобы открыть определенное окно/приложение на основе кликов пользователей.

Кто-нибудь может мне с этим помочь? Спасибо.


person Matikus1trillion    schedule 07.07.2012    source источник


Ответы (1)


Опять же, информация есть в документах:

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.view.View-event-itemdblclick

Вторым переданным параметром является запись, поэтому вы можете получить доступ к любому из значений в записи, используя record.get().

itemdblclick: function(view, record) {
    console.log(record.get('nameOfField'));
}
person Evan Trimboli    schedule 07.07.2012
comment
Извините, я относительно новичок в программировании и пытаюсь разобраться в этом. Я прочитал документы, но не понимаю, как я могу получить доступ к определенному полю или значению, которое мне нужно. - person Matikus1trillion; 07.07.2012
comment
Обновлен образцом кода. Если вы новичок в программировании, вам придется очень тяжело. - person Evan Trimboli; 07.07.2012
comment
Спасибо. Почему ты думаешь, что мне будет тяжело? - person Matikus1trillion; 07.07.2012