Параметр шаблона ExtJS4 - PullRequest
       1

Параметр шаблона ExtJS4

1 голос
/ 11 ноября 2011

Я новичок в extJs4 и пытался понять, как работают шаблоны.

Мой вопрос: как я могу передать функцию в качестве параметра в шаблон? Например, у меня есть элемент 'a', и я хочу обработать его событие onClick с помощью пользовательской функции, определенной в моем пользовательском классе extjs.

Что мне удалось сделать, так это передать функцию foo () в качестве параметра с простым предупреждением. Проблема в том, что оповещение срабатывает при загрузке приложения, но после этого при нажатии на элемент ничего не происходит. После проверки элемента я увидел, что его обработчик onclick был пустой строкой.

Спасибо.

1 Ответ

4 голосов
/ 12 ноября 2011

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

Ext.onReady(function(){
    //Some dummy data
    var data = { name: 'Jerónimo', age: 37 };

    // Declare a template to use, very simple.
    var tpl = new Ext.XTemplate(
        '<H1>Template sample:</H1>',
        '<tpl for=".">',
        '<p>Name: {name}</p>',
        '<p>Age: {age}</p>',
        '</tpl>'
    );

    // Apply the template to our div
    tpl.overwrite('myDiv', data);

    // Control the click event on the div
    Ext.get('myDiv').on('click', function(){ alert('Click'); });
})

Вы можете проверитьрабочий пример здесь: Пример шаблона JsFiddle Ext 4.0.7

Надеюсь, что это немного поможет понять использование шаблона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...