Загрузите файл SVG с помощью svg.js - PullRequest
0 голосов
/ 12 июня 2018

Я видел несколько вопросов, связанных с этой темой в SO, и следовал за ними ( Загрузка файла SVG с помощью svg.js ), но безуспешно пытался загрузить файл SVG.

__this.canvas = SVG('canvas').size(500, 500);
$.get('/cuentos/Rapunzel/prueba.svg', function(data) {
     __this.data = data;
     console.log(__this.data);
     __this.canvas.svg(__this.data);
});

__ this.canvas имеет тип svgjs.Doc , который импортируется следующим образом:

import SVG from './node_modules/svg.js/svg.js';
declare var svgjs: (domElement: HTMLElement) => svgjs.Library;

Ошибка:

enter image description here

Есть что-то, что я делаю неправильно или отсутствует.

Любая помощь?

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Используя jQuery, эта форма работает как в 2.7.1, так и в версии 3.0.xi

    var svgp = SVG($('#<name of svg>')[0]);
0 голосов
/ 12 июня 2018

JQuery $.get для SVG возвращает объект DOM, представляющий SVG по умолчанию.Функция svg в SVG.js, однако, ожидает строку.

Вы можете просто заставить JQuery выдавать строку, подобную этой:

$.get('/cuentos/Rapunzel/prueba.svg', function(data) {
   __this.data = data;
   console.log(__this.data);
   __this.canvas.svg(__this.data);
}, 'text');

PS: я открыл PR противSVG.js для отображения правильного сообщения об ошибке для этого случая: https://github.com/svgdotjs/svg.js/pull/870

...