Невозможно перейти к переменной в Firebug - PullRequest
3 голосов
/ 24 сентября 2011

Иногда в firebug я не могу углубиться в выражение переменной при переходе по коду JavaScript.Иногда это случайное поведение, и я обновляю страницу, и в следующий раз смогу углубиться.Однако с некоторыми переменными я никогда не смогу.Я приведу пример:

Я использую API визуализации Google и у меня есть следующий код:

var row = tableChart1.getSelection();
var test5 = queryWrapper1;

var dt = test5.currentDataTable;
var dv = test5.currentDataView;

var x = dv.getViewRowIndex(row[0].row);
var y = dt.getRowProperties(row[0].row);
alert(test5.currentDataTable.getRowProperty(row[0].row,"ticker"));

Переменная, в которую я не могу перейти,у.Вот документация для getRowProperties () (вот ссылка ссылка на документацию ):

Возвращает: Object

Возвращает карту всех свойств для указанной строки,Обратите внимание, что объект свойств возвращается по ссылке, поэтому изменение значений в извлеченном объекте изменяет их в DataTable.

Любое объяснение того, почему firebug не позволяет мне исследовать свойства возвращенного объектабудет высоко ценится.Спасибо.

Обновление: я использую firebug 1.7.3.

Также вот скриншот того, что я вижу: screenshot

1 Ответ

1 голос
/ 24 сентября 2011

Я попытался немного протестировать его с примером кода из Google.Это не проблема с Firebug.object, который возвращается из вашего звонка на dt.getRowProperties(row[0].row);, действительно пуст.В документации по getRowProperty упоминается, что null возвращается, если такого свойства не существует.Кажется, что пустой объект возвращается для связанной функции getRowProperties, если нет свойств.

Свойства строки, столбца или ячейки используются некоторыми визуализациями для изменения их поведения, как объяснено в документации .Вы должны явно установить эти свойства с помощью соответствующих функций.

Если вы хотите проверить это, чтобы доказать, что это не Firebug, измените код следующим образом:

var row = tableChart1.getSelection();
var test5 = queryWrapper1;

var dt = test5.currentDataTable;
var dv = test5.currentDataView;

var x = dv.getViewRowIndex(row[0].row);

// Add this bit
dt.setRowProperty(row[0].row, 'foo', 'bar');

var y = dt.getRowProperties(row[0].row);
alert(test5.currentDataTable.getRowProperty(row[0].row,"ticker"));
...