vue自定义指令实现按钮只允许点击一次

vue自定义指令实现按钮只允许点击一次

vue自定义指令实现按钮只允许点击一次
这个例子中创建了一个名为 click-once 的自定义指令,通过 bind 钩子函数给元素绑定了一个点击事件,并且利用一个变量 clicked 控制了按钮只能点击一次的行为。在点击后会执行传入指令的方法,并在一定时间后(这里是 1 秒)重新允许点击。

记得将代码中的 handleClick 方法替换成你想要执行的实际操作。

// 在你的 Vue 文件中
<template>
  <div>
    <button v-click-once="handleClick">点击我</button>
  </div>
</template>

<script>
export default {
  methods: {
    handleClick() {
      // 执行你想要的操作
      // ...
    }
  }
};
</script>

// 新建一个名为 clickOnce 的自定义指令
Vue.directive('click-once', {
  bind(el, binding, vnode) {
    let clicked = false;
    el.addEventListener('click', () => {
      if (!clicked) {
        clicked = true;
        binding.value(); // 执行传入指令的方法
        setTimeout(() => {
          clicked = false;
        }, 1000); // 设置 1 秒后可再次点击
      }
    });
  }
});

你可能感兴趣的:(vue小功能案例,vue.js,javascript,前端)