在基于SFC的vuejs项目上使用paperjs

Echefede

我有一个基于单个文件组件的vuejs项目。我想添加一个画布,并根据我的组件数据用paperjs动态绘制事物。正确的做法是什么?

Echefede

自我反应。运作中的证监会。

<template>
    <canvas resize id="main-canvas">{{circle_diameter}}</canvas>
</template>
<script>
import paper from 'paper'
export default {
    data: () => ({ x: 20, y: 20 }),
    props: ['circle_diameter'],
    methods: {
        updateDrawing() {
            paper.setup(document.getElementById('main-canvas'))
            // Now, draw your things based on component state.
            const point = new paper.Point(this.x, this.y)
            const circle = new paper.Path.Circle(point, this.circle_diameter/2)
            circle.fillColor = 'grey'
            circle.strokeColor = 'black'
        },
    },
    updated() {
        this.updateDrawing()
    },
}
</script>

编辑

由于paperjs将在vue范围之外进行渲染,因此在您将其放置{{circle_diameter}}到canvas html标签中之前,绘图不会起作用这样,您每次强制更改道具时都强制Vue调用update()。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 Windows 上使用基于 linux 的文档运行 django 项目

可以将VueJS SFC组件与呈现的html中的模板一起使用吗?

如何在VueJS SFC中的数据,计算方法中使用JSX

在基于 Maven 的项目上动态加载 JAR

Vuejs在数组中的项目上使用v-model时,数据绑定不起作用

如何使apache2在Ubuntu 16.04上使用php7服务基于php的项目?

PaperJS,需要使用Mouse Down在透明栅格下选择项目

基于vuejs v3.0中的类组件的vuejs项目会发生什么?

在VueJS上使用引出线

哨兵不使用vuejs项目的sourcemap

未处理的承诺拒绝SyntaxError:预期为“:”,使用vuejs + vuetify项目在IE11上获取此消息

如何基于孩子的值在RecyclerView Android上显示项目

如何在基于Gluon Mobile的项目上设置Icon?

在 iOS 项目上使用 schedule()

删除node_modules文件夹后无法构建基于VueJS webpack的项目

使用VueJS在localhost上获取API数据

使用 vuejs 在 get 方法上刷新组件

在Vuejs上使用Javascript启用标签页

在VueJS上使用axios全局设置WithCredentials

如何在文字Vuejs上使用罢工?

在 Ubuntu 上使用基于 unix 的包

在桌面Linux上使用基于密钥的登录

paperjs 选择项目并在鼠标单击时删除

如何在React中使用PaperJs?

将paperjs与jsfiddle一起使用

你可以在 paperjs 中使用 await 吗?

使用 VueJS、VuelidateJS 和 NodeJS/Express 时的项目结构

如何使用VueJS增强现有的Laravel项目?

如何在VueJS Webpack项目中使用Modernizr