Почему библиотека javascript не нацелена на элемент в Ipywidget - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь создать Ipywidget, который оборачивает библиотеку javascript.

Теперь я столкнулся с проблемой, которая застряла на некоторое время.Я импортировал библиотеку JavaScript JavaScript canvasXpress: https://github.com/neuhausi/canvasXpress на мой взгляд.И похоже, что код загружен.

Но когда я пытаюсь создать объект, код запускается, но на целевой элемент это никак не влияет.

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

Должен искать элемент и преобразовывать его.Я создал отдельную html-страницу для проверки этого, и если я импортирую туда библиотеку и создаю элемент из консоли, она работает просто отлично.

Что здесь может пойти не так?

это моя загрузка скриптов в виде:

var canvasjs = require('./canvasXpress.min-23.8.js')
var canvascss = require('./canvasXpress-23.8.css')
var widgets = require('@jupyter-widgets/base');
var _ = require('lodash');

Мой взгляд:

var HelloView = widgets.DOMWidgetView.extend({
    render: function() {
        this.value_changed();
        this.model.on('change:value', this.value_changed, this);
        $(this.el).append("<div class='container'><canvas id='canvas' responsive='true'></canvas></div>")
    },
    value_changed: function() {
        console.log('change', this.model.get('value'))
    }
});

У меня быломой новый объект CanvasXpress в представлении раньше, но сейчас я просто пытаюсь создать его из веб-консоли.

new CanvasXpress('canvas', {y: {"smps":["Salihli","Tucapel","Sabadell"], "data":[[5,2,4]], "vars":["intval"]}, x: {"cities":["Salihli","Tucapel","Sabadell"]}, z: null}, false, false)
...