用VUE语言使用svg随机位置生成不同大小不同颜色圆
时间: 2024-03-01 22:53:42 浏览: 202
随机位置生成不同大小不同颜色圆 使用svg
好的,以下是使用 Vue 生成随机位置、大小和颜色的圆形,并将其添加到 SVG 元素中的示例代码:
```html
<template>
<svg width="500" height="500">
<circle v-for="circle in circles" :key="circle.id" :cx="circle.x" :cy="circle.y" :r="circle.r" :fill="circle.color" />
</svg>
</template>
<script>
export default {
data() {
return {
circles: [],
width: 500,
height: 500,
};
},
mounted() {
this.generateCircles();
},
methods: {
random(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
},
generateCircles() {
for (let i = 0; i < 10; i++) {
const x = this.random(0, this.width);
const y = this.random(0, this.height);
const r = this.random(10, 50);
const color = `rgb(${this.random(0, 255)}, ${this.random(0, 255)}, ${this.random(0, 255)})`;
this.circles.push({ id: i, x, y, r, color });
}
},
},
};
</script>
```
在这个示例中,我们在模板中使用 `v-for` 指令循环渲染圆形元素,并使用数据中的坐标、半径和颜色属性。在 `mounted` 钩子函数中,我们调用 `generateCircles` 方法来生成随机位置、大小和颜色的圆形,并将其添加到数据中。在 `generateCircles` 方法中,我们使用 `random` 函数生成随机值,并将每个圆形对象添加到 `circles` 数组中。最后,我们在模板中使用 `circles` 数组来渲染圆形元素。
阅读全文