#javascript #datagrid #extjs
#javascript #datagrid #extjs
Вопрос:
У меня есть ExtJS 3 datagrid с несколькими добавленными функциями, которые не отображаются. Консоль JavaScript наводит меня на мысль, что в Ext отсутствуют части.
Я импортирую с очевидным успехом:
<script type="text/javascript"
src="/extjs3/adapter/ext/ext-base-debug.js">
</script>
<script type="text/javascript"
src="/extjs3/ext-all-debug.js"></script>
У меня в моем скрипте:
<script type="text/javascript">
Ext.Loader.setConfig({
enabled: true
});
Ext.Loader.setPath('Ext.ux', '../ux');
Ext.require(['Ext.selection.cellModel',
'Ext.grid.*',
'Ext.data.*',
'Ext.util.*',
'Ext.state.*',
'Ext.form.*',
'Ext.ux.CheckColumn'
]);
Chrome отображает ошибку:
Ошибка неперехваченного типа: объект # не имеет метода ‘setConfig’
Номер строки принадлежит setConfig выше. Если я закомментирую вызов setConfig(), я получаю ту же основную ошибку для setPath(), на которую жалуется метод require ().
Есть ли что-то еще, что мне нужно импортировать? Я проверил, что ресурсы находятся по ожидаемым путям, и, похоже, они обслуживаются и принимаются должным образом.
Я хотел бы знать, что нужно сделать для устранения этой ошибки.
Спасибо,
—РЕДАКТИРОВАТЬ—
Теперь у меня есть:
<script type="text/javascript">
/*
Ext.Loader.setConfig({
enabled: true
});
Ext.Loader.setPath('Ext.ux', '../ux');
*/
Ext.Loader.load(['Ext.selection.cellModel',
'Ext.grid.*',
'Ext.data.*',
'Ext.util.*',
'Ext.state.*',
'Ext.form.*',
'Ext.ux.CheckColumn'
]);
Я получаю сообщения об ошибках на консоли JavaScript, в которых говорится, что он пытался загрузить (404) Ext.grid.* и т.д. Из того же каталога.
Как мне указать правильный путь (ы) для поиска в нем?
Ответ №1:
Вы смешиваете новый Ext JS 4 Ext.Loader
с Ext JS 3 Ext.Loader
. Ваш код включает Ext JS 3, в то время как вы используете синтаксис и API Ext.Loader
из Ext JS 4.
Старую документацию по API Ext JS 3 можно найти здесь: http://dev.sencha.com/deploy/ext-3.3.1/docs
Редактировать
Старый загрузчик Ext JS 3 не поддерживает сопоставление имен классов с путями, поэтому загрузчик принимает только массив путей к файлам в качестве аргумента. Пожалуйста, также обратите внимание, что загрузка выполняется асинхронно, поэтому ваши загруженные файлы доступны только после завершения загрузки.
Комментарии:
1. Спасибо; Я внес изменения в приведенную выше правку, и это нарушает что-то еще.