ZhangXianQiang
2024-04-16 ee17debc7eff4af0bbfc1f28a256f2a05993b0c5
src/main.js
@@ -42,6 +42,9 @@
import VScaleScreen from 'v-scale-screen'
import dataV from '@jiaminghi/data-view'
import gsap from 'gsap';
import { formatNumber } from './utils/format';
// 全局方法挂载
@@ -55,6 +58,7 @@
Vue.prototype.download = download
Vue.prototype.handleTree = handleTree
Vue.prototype.getToken = getToken
Vue.prototype.$uploadUrl = process.env.VUE_APP_BASE_API + "/common/upload"
// 全局组件挂载
Vue.component('DictTag', DictTag)
@@ -87,6 +91,41 @@
Vue.config.productionTip = true
// 全局指令
Vue.directive('roll', {
  inserted: (el, binding) => {
    let target = {
      count: 0
    };
    let finalNumber = el.innerText;
    gsap.to(target, {
      count: finalNumber,
      duration: 1,
      ease: "power2.out",
      onUpdate: () => {
        el.innerText = formatNumber(target.count.toFixed(0));
      }
    })
  },
  update: (el, binding) => {
    let target = {
      count: el.innerText
    };
    let finalNumber = el.getAttribute('value');
    gsap.to(target, {
      count: finalNumber,
      duration: 1,
      ease: "power2.out",
      onUpdate: () => {
        el.innerText = formatNumber(target.count.toFixed(0));
      }
    })
  }
})
new Vue({
  el: '#app',
  router,