美文网首页
nprogress单个组件内移除

nprogress单个组件内移除

作者: 小白的踩坑日常 | 来源:发表于2020-07-03 10:15 被阅读0次

全局使用nprogress,也难免会有单个组件需要移除nprogress的需求

法一:暴力解决:

进入组件的钩子里(created或activated(如果你用了keepalive的话)),将nprogress的template设置为这样,拿掉它的样式渲染节点:

    NProgress.configure({ template: '<div role="bar"><div></div></div>' })

然后在离开或销毁页面的钩子里再把节点模板还原回去:

    NProgress.configure({ template: '<div class="bar" role="bar"><div class="peg"></div></div>' })

原理:

nprogress里这部分源码:(我修改了tamplate模板部分,去源码里可以看到该插件提供configure函数可修改这些配置项)

  var Settings = NProgress.settings = {
    minimum: 0.08,
    easing: 'ease',
    positionUsing: '',
    speed: 200,
    trickle: true,
    trickleRate: 0.02,
    trickleSpeed: 800,
    showSpinner: true,
    barSelector: '[role="bar"]',
    spinnerSelector: '[role="spinner"]',
    parent: 'body',
    template: '<div class="bar" role="bar"><div class="peg"></div></div>'
    // <div class="spinner" role="spinner"><div class="spinner-icon"></div></div>这个是右上角的旋转小圆圈,暂时不用
  };

法二:

在路由守卫处进行相关配置。
之前忘记在哪里看的,可以这样移除和添加上nprogress

    // 在request 拦截器中,展示进度条 NProgress.start()
const requestInterceptors = axios.interceptors.request.use(config => {
        NProgress.start()
        config.headers.token = window.sessionStorage.getItem('token')
            // 这个必须return
        return config
    })
    // 在response 拦截器中,隐藏进度条 NProgress.done()
const responseInterceptors = axios.interceptors.response.use(
    response => {
        NProgress.done()
        console.log(response)
        if (response.data.code === 401) {
            router.push({
                path: '/login',
                query: { redirect: location.hostname }
            })
        }
        return response
    },

相关文章

  • nprogress单个组件内移除

    全局使用nprogress,也难免会有单个组件需要移除nprogress的需求 法一:暴力解决: 进入组件的钩子里...

  • neo4j cypher-remove

    二、remove 移除 示例的数据结构: 创建的语句: 1. 移除单个属性 删除之前: 删除之后: 2. 移除所有...

  • Vue:slot用法

    单个 Slot在子组件内使用特殊的 元素就可以为这个子组件添加一个 slot (插槽),在父组件模板里,插入在子组...

  • Vue-slot使用方法

    单个 Slot在子组件内使用特殊的 元素就可以为这个子组件添加一个 slot (插槽),在父组件模板里,插入在子组...

  • 移除cocoapods

    1、查看CocoaPods组件安装位置: 结果: 2、手动移除这个组件: 3、移除RubyGems中的CocoaP...

  • flutter中需要忽略的文件

    Flutter中通常我们需要忽略掉一些文件,比如下面的 表示说明 移除已经添加的文件 移除全部文件 移除单个文件 ...

  • Vue项目引入NProgress插件

    1.NProgress安装 2.NProgress使用

  • VR 射击馆(三)抓取物体、拓展编辑器、Debug

    抓取物体 判断当前在手的碰撞内的物体是否带有 GrabbedObject 组件,有的话判断是否只能单个手柄抓取,符...

  • Vue2.0过滤器filter

    在单个组件内局部调用过滤器 全局过滤器在main.js中设置全局过滤器

  • 卸载当前CocoaPods并安装指定版本

    查看组件位置并移除 查看当前版本 结果 移除 输入y确定 安装指定版本

网友评论

      本文标题:nprogress单个组件内移除

      本文链接:https://www.haomeiwen.com/subject/ttwjqktx.html