Доступ к модели столбца сетки ExtJS из другого файла
-
06-07-2019 - |
Вопрос
У меня есть сетка ExtJS, в которой настроена кнопка. Кнопка запускает функцию, которая определена в другом файле JS, который включен в страницу сетки. Функция срабатывает нормально, но в этой функции я хочу получить количество столбцов следующим образом:
grid.getColumnModel().getColumnCount()
Проблема в том, что я получаю ошибку вроде: grid.getColumnModel не является функцией.
В PHP я бы сделал " глобальный $ ext " а затем получить доступ к этой функции. Как я могу сделать это в Ext? Как я могу получить доступ к сетке из другого файла? Что нужно определить?
Спасибо.
Решение
Как вы определили объект сетки? Ты сделал это так:
var grid = new Ext.grid.GridPanel(...);
Если это так, объект сетки не находится в глобальной области видимости. Удалить " var " и посмотрим, поможет ли это.
Другие советы
Это похоже на проблему с областью действия. См. Переменную область действия в JavaScript .
По сути, вы можете сделать:
my_global_grid = ... // accessible in the current ~global~ context (document, window)
var my_local_grid = ... // accessible only in the function
window.my_window_global_grid = ... // accessible in the same window
Вы также можете передать объект grid в свою функцию в качестве аргумента:
function myFunction(arg1,arg2,grid){
...
var count = grid.getColumnModel().getColumnCount();
...
}