zoukankan      html  css  js  c++  java
  • 开发中遇到的vue问题总结

    1.使用axios循环调用接口,解决批量删除、移动、创建等的批量操作

    let list = [{id: 01, name: 'xx'}, {id: 02, name: 'mm'},{id: 03, name: 'bb'}]
    
    //循环调用接口
    let result = list.map(item => {
        return Promise(resolve => {
            //接口中使用id
            axios.get(url, item.id).then(data => {
                resolve(data)
            })
        })
    })
    
    //使用promise.all方法等待所以异步任务执行结束
    Promise.all(result).then((data) => {
        //执行后续操作(如关闭loading,弹窗等)
    }).catch(err => {
        //错误处理
    })
    

    2.vue中实现数据不刷新(例如设备列表当前处于第五页,点击设备详情返回来时列表任要处于第五页)使用keep-alive解决

    //在App.vue文件中
    <div class="main-content">
        <keep-alive>
            <router-view v-if="$route.meta.keepAlive" />
        </keep-alive>
        <router-view v-if="!$route.meta.keepAlive" />
    </div>
    
    //deviceRouter.js 文件
    {
        path: '/device',
        component: () => import('@/views/admin/device/List.vue'),
        name:'device',
        meta: {
            activeMenu: '/device/',
            keepAlive: true   //使用属性标记需要缓存的路由
        }
    },
    

    3.Vue中使用keep-alive以后刷新部分数据如何解决(接上文问题,使用了keep-alive后页面被缓存了,但是有时候从特定页面跳转回来带着查询参数需要刷新页面)

    //在生命周期函数中执行操作
    activated(){
    	if(this.$route.params.mac){ //获取路由参数
            this.isSearch = true
            this.mac = this.$route.params.mac
            this.getList({mac: this.$route.params.mac}) //getList为获取数据的接口调用
         }
    },
    
    
  • 相关阅读:
    如何判断网页中引入jquery
    回车事件jquery
    bootcss
    jquery 固定导航
    vs2012常用快捷键总结
    网页上新闻,多余内容用....(省略号)代替
    git的使用
    vue获取点击事件源的方法
    JS实现复制功能
    AdminLTE 学习笔记
  • 原文地址:https://www.cnblogs.com/xmbhyw/p/13613106.html
Copyright © 2011-2022 走看看