vue3.0使用intro.js实现新手引导功能

第一步:安装依赖

npm install intro.js --save
//支持ts
npm i --save-dev @types/intro.js

第二步:在shims-vue.d.ts添加这段代码

declare module 'intro.js'

第三步:在需要的页面中引入并使用

<template>
    <div class="container">
        <div id="one">引导一</div>
        <div id="two">引导二</div>
    </div>
    <div id="finally">引导结束</div>
</template>
<script>
import IntroJs from 'intro.js' // introjs库
import 'intro.js/introjs.css' // introjs默认css样式
// introjs还提供了多种主题,可以通过以下方式引入
import 'intro.js/themes/introjs-modern.css'
import { nextTick, onMounted } from "vue";
export default {
    setup() {
        const initPageIntro = () => {
            // 引导图
            const allSteps = [
                {
                    element: '#one', //这是添加引导的元素id
                    intro: '引导一1111111111111111', //这是引导提示内容
                    position: 'right' //这是引导位置
                },
                {
                    element: '#two',
                    intro: '引导二1111111111111111',
                    position: 'left'
                },
                {
                    element: '#finally',
                    intro: '引导结束',
                    position: 'top'
                }
            ]

            const curIntro = IntroJs()
            curIntro.setOptions({
                prevLabel: `上一步`,
                nextLabel: `下一步`,
                skipLabel: `跳过`,
                doneLabel: `完成`,
                tooltipPosition: `bottom` /* 引导说明框相对高亮说明区域的位置 */,
                hidePrev: `true`, // 隐藏第一步中的上一个按钮
                tooltipClass: `` /* 引导说明文本框的样式 */,
                highlightClass: `` /* 说明高亮区域的样式 */,
                exitOnOverlayClick: false /* 是否允许点击空白处退出 */,
                showStepNumbers: false /* 是否显示说明的数据步骤*/,
                keyboardNavigation: false /* 是否允许键盘来操作 */,
                showButtons: true /* 是否按键来操作 */,
                showBullets: true /* 是否使用点点点显示进度 */,
                showProgress: false /* 是否显示进度条 */,
                scrollToElement: true /* 是否滑动到高亮的区域 */,
                overlayOpacity: 0.6 /* 遮罩层的透明度 */,
                positionPrecedence: [`bottom`, `top`, `right`, `left`] /* 当位置选择自动的时候,位置排列的优先级 */,
                disableInteraction: false, /* 是否禁止与元素的相互关联 */
                hintPosition: 'top-middle',
                steps: allSteps
            })
            curIntro.oncomplete(() => {
                // 点击结束按钮后执行的事件
                console.log(`oncomplete`)
            })
            curIntro.onexit(() => {
                // 点击跳过按钮后执行的事件
                console.log(`onexit`)
            })
            curIntro.onchange(() => {
                // 点击下一步执行的事件
                console.log(`onchange`)
            })
            curIntro.start()
        }
        onMounted(() => {
            nextTick(() => {
                initPageIntro()
            })
        })
    }
}
</script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue.js是目前最流行的前端框架之一,它简单、高效、易于学习,同时有着很好的可维护性和可扩展性。随着Vue.js的不断发展和升级,Vue3.0相继推出,Vue.config.js作为Vue.js开发中非常重要的配置文件之一,在Vue3.0中的确被删除了。 在Vue.js中,Vue.config.js是一个重要的配置文件,它可以定义和修改Vue.js应用程序的各种默认设置,比如修改Webpack的配置选项、添加插件等等。然而,在Vue3.0中,Vue.config.js文件已经被删除了,这个文件现在不再起作用。这是因为Vue3.0使用了新的模块化API,这个API允许开发者更加灵活地配置Vue.js应用程序。 新的模块化API是Vue3.0相对于Vue2.0最重要的改变之一,它使用了ES6模块化语法,将Vue.js应用程序分解成了不同的部分,开发者可以在各个模块之间进行灵活的组合和使用。这个新的API允许开发者通过导入和导出模块的方式来进行自定义配置。因此,在Vue3.0中,开发者可以在自己的项目中使用额外的_Vite_或_Rollup_等构建工具,通过使用这些工具来进行对Vue.js应用程序的构建和优化。 总之,尽管Vue.config.jsVue3.0中被删除了,但是Vue3.0带来的新的模块化API却为开发者提供了更加灵活和强大的配置方式。除此之外,Vue3.0还提供了大量的新特性和改进,在性能、可维护性、可扩展性等方面都有了显著的提高,这将对Vue.js的开发者们带来很多的好处。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值