Я использую ExtJS 4.1. В пользовательском интерфейсе у меня две кнопки - btnOne & btnTwo. У меня есть магазин, который я загружаю после нажатия на обе кнопки.Добавление функции обратного вызова в хранилище ExtJs на основе определенного условия
Что я хочу: при нажатии на любую кнопку я все равно хочу загрузить хранилище, но при нажатии на btnOne я хочу загрузить хранилище и когда загружен магазин, я хочу вызвать функцию обратного вызова. Я не могу добавить функцию обратного вызова при загрузке магазина, так как я хочу вызвать функцию обратного вызова только при нажатии btnOne.
Я посмотрел на метод загрузки store load docs &, позволяющий использовать функцию обратного вызова.
store.load({
scope: this,
callback: function(records, operation, success) {
// the operation object
// contains all of the details of the load operation
console.log(records);
}
});
Если область обратного вызова не нужно устанавливать, функция просто можно передать:
store.load(function(records, operation, success) {
console.log('loaded records');
});
Но в моем случае функция обратного вызова вызывался до магазина нагрузки.
Я не хочу поддерживать переменную для нее.
Просьба предложить.
Есть ли способ достичь этого без сохранения varibales? – SharpCoder
Нет: кнопка не имеет состояния, поэтому вам нужно будет поддерживать состояние где-то в переменных. Но вы можете сохранить эти переменные в самой кнопке: 'button. [Prefix] Clicked = true' (измените префикс, чтобы убедиться, что вы не испортили внутренние переменные среды Ext). В качестве альтернативы вы можете использовать некоторые флажки, которые нельзя отменить, если они были выбраны. –