要在 Vue 3 中实现点击按钮让图片旋转 90 度,你可以使用 CSS 转换和 Vue 的事件处理来完成。这里是一个基本的示例:
首先,在你的组件的模板中,添加一个按钮和一个应用转换的图像:
|---|------------------------------------------------------------------------------------|
| | <template>
|
| | <div>
|
| | <button @click="rotateImage">旋转图片</button>
|
| | <img :class="{ rotated: isRotated }" src="your-image-source.jpg" alt="Image" />
|
| | </div>
|
| | </template>
|
在这里,:class="{ rotated: isRotated }"
是一个绑定,它会动态地将rotated
类添加到图像中,当isRotated
为true
时。
然后,在你的组件的<script setup>
中,定义isRotated
和处理按钮点击事件的函数:
|---|----------------------------------------|
| | <script setup>
|
| | import { ref } from 'vue';
|
| | |
| | const isRotated = ref(false);
|
| | |
| | function rotateImage() {
|
| | isRotated.value = !isRotated.value;
|
| | }
|
| | </script>
|
在这里,ref
是 Vue 的一个函数,用于创建一个响应式引用。isRotated
是一个响应式引用,当它的值变化时,任何绑定到它的类或属性都会更新。
最后,在你的组件的 CSS 中,定义rotated
类来应用转换:
|---|------------------------------|
| | <style>
|
| | .rotated {
|
| | transform: rotate(90deg);
|
| | }
|
| | </style>
|
在这里,transform: rotate(90deg);
将元素旋转 90 度。
请注意,这个示例中的旋转是无限循环的。如果你只想旋转一次,你可以在rotateImage
函数中设置一个额外的状态变量来跟踪旋转次数,并在适当的时候重置isRotated
。