Я пытаюсь использовать внешнюю библиотеку JS, которая создает холст для рисования (atrament.js) в приложении vue.js.
Я не уверен, как это сделать правильно. Прямо сейчас я просто делаю:
<script type="text/javascript">
var main = new Vue({
el: '#vueapp'
});
</script>
<script type="text/javascript">var atr = atrament("canvas", 500, 500);</script>
И с этим холст создается везде, где я помещаю теги <canvas></canvas>
.
Однако это не кажется очень элегантным вариантом, и переменная atr
недоступна для приложения vue, например, для очистки холста. Итак, как правильно это сделать?
2 ответа
У вас должна быть переменная atr
в качестве переменной vue data, как показано ниже :
<script type="text/javascript">
var main = new Vue({
el: '#vueapp',
data: {
atr : atrament("canvas", 500, 500)
}
});
</script>
Теперь atr
будет доступен в приложении vue через this.atr
, и вы сможете выполнять с ним необходимые операции.
Поскольку Vue представляет собой библиотеку пользовательского интерфейса на основе компонентов, вам следует подумать о компонентах .
Подумайте о том, чтобы обернуть этот холст в компонент, и ваш родительский элемент будет общаться с ним через свойства и события. У Vue есть очень чистая документация для этого: https://vuejs.org/v2/guide/components .html
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.