美文网首页前端大杂烩
常用的一些js计算公式和提醒自己看的东西

常用的一些js计算公式和提醒自己看的东西

作者: 写写而已 | 来源:发表于2020-03-05 09:44 被阅读0次

    算法

    1.计算一个数最靠近下一个被10或100整除的数,常用于显示折线图y轴数值

    // 70
    Math.ceil(67/10)*10
    // 100
    Math.ceil(23/00)*100
    

    Vuex

    1.vuex的action默认返回的就是Promise,并且resolve,不需要自己return new Promise就可以使用then接收,如果想要catch,Promise.reject()即可

    /* 删除一个tab */
    RemoveTab({ commit }, tab) {
        // tabs只有一个时不能删除/
        if (tab.path === '/' && state.menuTabs.length <= 1) {
            return Promise.reject('tabs只有一个时不能删除/')
        }
        commit('REMOVE_TAB', tab)
    }
    

    2.遍历state.myArray.splice(index, 1),并不会清空myArray,因为有延迟,要使用赋值

    /* 这样并不会得到想要的结果,因为有延迟 */
    for (let [index, item] of state.myArray.entries()) {
        if (!item.checked) {
            state.myArray.splice(index, 1)
        }
    }
    
    /* 你要这样 */
    state.myArray = state.myArray.filter(item => item.checked)
    
    /* 关闭所有,关闭其他tabs */
    SET_CLOSE_TABS(state, type) {
        if (type === 'all') {
            state.menuTabs = [{ path: '/', label: 'Dashboard', icon: 'iconfont icon-dashboard' }]
            state.cachedViews = []
        }
        if (type === 'others') {
            state.menuTabs = state.menuTabs.filter(item => item.path == state.currentTab.path)
            state.cachedViews = [state.currentTab.path]
        }
    }
    

    Route在组件内的钩子

    // vue方法
    methods: {},
    // 销毁时
    destroyed() {
        this.$store.dispatch('SetOpenJobType', { openType: true })
        this.$store.dispatch('SetTaskCurrentTab', { id: '' })
        this.$store.dispatch('ClearTask')
    },
    // 离开路由时,调用
    beforeRouteLeave(from, to, next) {
        this.$confirm('确定退出工作台吗?').then(() => {
            next()
        }).catch(() => {
            
        })
    },
    beforeRouteEnter(frome, to, next) {
        // 准备进入路由
    },
    beforeRouteUpdate(from, to, next) {
        //在当前路由改变,但是该组件被复用时调用
    }
    

    相关文章

      网友评论

        本文标题:常用的一些js计算公式和提醒自己看的东西

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