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 () => (