Я пытаюсь запустить слегка измененную версию SlickGrid’s example1-simple.html. Я на Mac OS X Lion, вижу такое же поведение с Chrome/Safari/Firefox. Как только у меня будут все зависимости CSS/JS, я смогу напрямую загрузить пример HTML-страницы (и мою слегка измененную версию) без каких-либо проблем. Однако, когда я пытаюсь обслуживать в основном ту же страницу с node/express/jade (используя res.render()
), загружается строка заголовка (имена столбцов), и, просматривая отображаемый HTML, я вижу, что загружается первая строка моих данных, но я не не вижу в браузере (пытаюсь загрузить 10 строк данных). Кажется, что все соответствующие файлы CSS/JS загружаются правильно, и я не вижу никаких ошибок ни в консоли браузера, ни в консоли моего узла. Я полностью скопировал grid-canvas
div
ниже.
<div class="grid-canvas" style="height: 250px; width: 240px; ">
<div class="ui-widget-content slick-row even" row="0" style="top:0px">
<div class="slick-cell l0 r0">Battery test #1.csv</div>
<div class="slick-cell l1 r1">1024</div>
<div class="slick-cell l2 r2">1335237255112</div>
</div>
</div>
Я почти уверен, что с JavaScript все в порядке, так как он почти точно соответствует образцу HTML-страницы и работает нормально, когда я подставляю его в документ example1-simple.html
и обращаюсь к нему напрямую. Также при рендеринге страницы с экспрессом я могу установить точку останова в своем браузере при вызове new Slick.Grid()
и увидеть, что массив из 10 элементов строк данных отправляется, но не отображается в конечном итоге.
У меня есть базовые навыки отладки старой школы (когда-то я много программировал для Windows на VB), но я очень открыт для предложений относительно соответствующих инструментов и методов отладки, которые я мог бы использовать для решения этого типа проблем.
Вот мой layout.jade:
!!!
html
head
title= title
link(rel="stylesheet", href="/stylesheets/slick.grid.css", type="text/css")
link(rel="stylesheet", href="/stylesheets/css/smoothness/jquery-ui-1.8.19.custom.css", type="text/css")
body!= body
И нефритовая страница с моим тестовым кодом:
#content
#fileGrid
script(src="/javascripts/lib/jquery-1.7.2.js")
script(src="/javascripts/lib/jquery.event.drag-2.0.min.js")
script(src="/javascripts/lib/slick.core.js")
script(src="/javascripts/lib/slick.grid.js")
script
var grid;
var columns = [
{id: "fileName", name: "File Name", field: "fileName"},
{id: "fileSize", name: "File Size", field: "fileSize"},
{id: "lastUpdate", name: "Last Updated", field: "lastUpdate"} // use mtime
];
var options = {
enableCellNavigation: true,
enableColumnReorder: false
};
$(function() {
var timeStamp = new Date();
var numRows = 10;
var data = [];
for (var i = 1 ; i <= numRows ; i++) {
data[i-1] = {
fileName: "Battery test #" + i + ".csv",
fileSize: i * 1024,
lastUpdate: Date.now().toString()
}
};
grid = new Slick.Grid("#fileGrid", data, columns, options);
});