#javascript #html #vue.js
Вопрос:
я создаю таблицу с картинками, нарисованными на холсте. Ivery canva находится в разных div, где каждый div имеет разные идентификаторы.
я получаю div по идентификатору и добавляю туда холст:
thumbnail(video, canvaId) {
const canvasThumbnail = document.createElement('canvas')
const cth = canvasThumbnail.getContext('2d')
const data = video.slice(8)
this.imgToHTML(data, e => {
const drawingThumbnail = new Image()
drawingThumbnail.src = e.target.result
drawingThumbnail.onload = function () {
canvasThumbnail.width = 300
canvasThumbnail.height = 190
cth.drawImage(drawingThumbnail, 0, 0)
document.getElementById(canvaId).appendChild(canvasThumbnail)
}
})
},
Проблема, с которой я сталкиваюсь, заключается в том, что иногда я получаю другую картинку для одного и того же «идентификатора», и я должен заменить холст в определенном «идентификаторе».
Я пробовал разные методы (removeChild, replaceWith), но все равно не могу работать.
Можете ли вы помочь мне, как заменить холст в элементе с определенным идентификатором?
Комментарии:
1. Вы используете Vue, или это неверный тег? В общем, вы не должны смешивать Vue с прямыми манипуляциями DOM , например
document.createElement()
, вместо этого выбирая решения, которые используют саму структуру (по крайней мере, когда это возможно).2. Покажите шаблон Vue, содержащий эти
div
s и их идентификаторы. И покажи, какthumbnail()
это называется.