import { computed, defineComponent, ref, watch } from "vue"; import { Switch, Slider } from "vant"; import styles from "./index.module.less" import { headData } from "../index" import { headImg } from "../image"; import state, { handleSetSpeed, resetBaseRate } from "../../../state"; import { metronomeData } from "../../../helpers/metronome"; export default defineComponent({ name: "speed", setup() { const speed = ref(state.speed); const minusSpeed = () => { let canSpeed = Math.max(speed.value - 1, 45); canSpeed = Math.min(canSpeed, 270); speed.value = canSpeed; }; const plusSpeed = () => { let canSpeed = Math.min(speed.value + 1, 270); canSpeed = Math.max(canSpeed, 45); speed.value = canSpeed; }; // 重置当前小节的速度 const resetCurrentSpeed = () => { resetBaseRate(state.activeNoteIndex); }; watch( () => speed.value, () => { // handleSetSpeed(speed.value); state.speed = Math.floor(speed.value); } ); watch( () => state.speed, () => { if (speed.value !== state.speed) { speed.value = state.speed; } } ); const metronomeDisable = computed({ get(){ return !metronomeData.disable }, set(val){ metronomeData.disable = !val } }) return () => (
{ headData.speedShow = false }} />
速度
{{ button: () =>
{ Math.floor(speed.value) }
}}
原速
{ speed.value = 70 }}>70
{ speed.value = 80 }}>80
{ speed.value = 90 }}>90
{ speed.value = 100 }}>100
{ speed.value = 110 }}>110
节拍器
); }, });