// 注册一个全局自定义指令 `v-mobile`
Vue.directive('mobile', {
  // 当绑定元素挂载到DOM上时
  bind(el, binding) {
    // 定义一个函数来检测是否是移动设备
    function isMobileDevice() {
      const userAgent = window.navigator.userAgent || window.navigator.vendor || window.opera;
      return /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(userAgent);
    }
    // 将检测结果赋值给绑定的对象属性
    binding.value.isMobileDevice = isMobileDevice();
    // 监听窗口大小变化，动态更新检测结果
    window.addEventListener('resize', () => {
      binding.value.isMobileDevice = isMobileDevice();
    });
  }
});
// 在Vue组件中使用这个指令
new Vue({
  el: '#app',
  data: {
    isMobileDevice: false // 初始值
  },
  mounted() {
    // 在这里，`this.isMobile`将会被赋予正确的值
  }
});