Я столкнулся с проблемой при попытке создать тире гридстака
Я получаю «Uncaught TypeError: Невозможно прочитать свойство addWidget of undefined» при попытке загрузить страницу .. (код основан набазовая демоверсия сериализованного гридстака https://github.com/gridstack/gridstack.js/blob/develop/demo/serialization.html)
Мой измененный раздел сценария
<script type="text/javascript">
$(function() {
var options = {};
$('.grid-stack').gridstack(options);
new function() {
this.grid = $('.grid-stack').data('gridstack');
this.loadGrid = function() {
this.grid.removeAll();
debugger;
const URL = `//${window.location.hostname}/dashboard/getDashboard`;
$.getJSON(URL, function(items) {
_.each(items, function(node) {
this.grid.addWidget($('<div><div class="grid-stack-item-content" /></div>'),
node.x, node.y, node.width, node.height, true, 4, 12, 1, 8, node.id);
}.bind(this));
});
return false;
}.bind(this);
this.saveGrid = function() {
this.serializedData = _.map($('.grid-stack > .grid-stack-item:visible'), function(el) {
el = $(el);
var node = el.data('_gridstack_node');
return {
x: node.x,
y: node.y,
width: node.width,
height: node.height
};
});
$('#saved-data').val(JSON.stringify(this.serializedData, null, ' '));
return false;
}.bind(this);
this.clearGrid = function() {
this.grid.removeAll();
return false;
}.bind(this);
$('#save-grid').click(this.saveGrid);
$('#load-grid').click(this.loadGrid);
$('#clear-grid').click(this.clearGrid);
this.loadGrid();
};
});
</script>
Есть предложения? Я пробовал несколько вещей, но продолжаю тупиковать
Лучшее, что я могу понять, это this.grid исчезает, когда я вхожу в getJSON
Данные загружаются нормально Кстати, я вижу items
, заполненный данными, которые я ожидаю.