gpt4 book ai didi

javascript - 如何在 vue 中触发 npm 包内的方法?

转载 作者:行者123 更新时间:2023-12-04 08:14:57 25 4
gpt4 key购买 nike

我是 Vuejs 的新手,我正在使用 vue-countup-v2 npm 包我安装它,然后将它导入到我的 Vue 组件中,当我加载页面时它工作得很好,但重点是我想调用组件 计数当向下滚动屏幕而不是在我加载页面时。在 vu-countup-v2 包,有一个方法叫开始()我可以触发它,但我不知道如何。
这是代码:

  <template>
<div id="main-wrapper" class="flex justify-around w-full p-12 my-12">
<CountUp
id="count-up"
:delay="delay"
:endVal="endVal[index]"
:options="options"
/>
</div>
</template>

<script>
import CountUp from 'vue-countup-v2';
import inViewport from 'in-viewport';

export default {
name: "NumberAnime",
components: {
CountUp,
},

data() {
return {
delay: 1000,
endVal: [40, 300000, 25000, 350],
options: {
useEasing: true,
useGrouping: true,
separator: ',',
decimal: '.',
prefix: '',
suffix: '',
}
}
},

mounted() {
inViewport('elementId', 'the function I want to callback')
},
}
</script>

最佳答案

我为将来需要专业知识的任何人解决了这个问题:
中使 v-if 条件为假计数标签向下滚动时使条件为真以开始运行

<div id="before_count_div" class="text-4xl flex items-end">
<CountUp
v-if="options.begin == true"
id="count"
:delay="delay"
:endVal="endVal[index]"
:options="options"
/>
</div>
在数据中:
options: {
useEasing: true,
useGrouping: true,
separator: ',',
decimal: '.',
prefix: '',
suffix: '',
begin: false,
}
在安装:
mounted() {
const el = document.getElementById('before_count_div');
inViewport(el, () => {
this.options.begin = true;
})
},

关于javascript - 如何在 vue 中触发 npm 包内的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65749661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com