zoukankan      html  css  js  c++  java
  • Vue 踩坑日志

    1.有关路由传参

    vue中当通过params传过去的参数刷新页面以后会消失,所以可以用query传参。但此时又会出现另一个坑,刷新后数据仍在。但这是针对单个的某个变量的。

    如果传入一个对象的话,刷新页面后会变成[object,object]。

    那么这个问题是如何产生的呢?

    探究一下,发现

    router他是一个钩子,刷新页面的时候,钩子还是初始化状态,他的值是通过导航变化后,钩子拦截导航是匹配产生的。

    所以说当刷新页面的时候,路由并没有发生变化,也就不存在会给变量赋值。所以,此时会出现赋值失败问题。

    (以上为个人理解,如果不对请指正)

    问题找出来了,怎么解决呢?

    emmm.....

    第一种:

    首先我们要知道我们在传的这个对象中的变量是否都是我们需要的,或者这个对象中只包括很少的变量

    我们就可以,用传单个变量的形式,将他们传过去。(有点废话,但确实是个好办法)

    第二种:代码

    if(this.$route.query instanceof Object){
    var msg =sessionStorage.setItem('item',Json.Stringify(this.$route.query))
    if(msg){
    this.item = JSON.parse(sessionStorage.getItem('item'))
    }
    }else{
    this.item = JSON.parse(sessionStorage.getItem('item'))

    }

    解释一下就是 先判断 它的格式是否为对象,如果是就将他储存到sessionStorage中,然后data中创建一个新的对象接受即可

    JSON.stringify
  • 相关阅读:
    一个晚上加一个上午啊 笨死算球
    转来的——python webdriver自动化测试初步印象——转来的
    MySQL软件升级
    创建rhel7基础镜像
    SHELL-收集Oracle已应用的PSU信息
    rhel7.6上安装Oracle 19.2.0.0 RAC
    AIX平台安装Oracle11gR2数据库
    Oracle Database(rdbms) 12.2 安装组件
    HP-UX平台安装Oracle11gR2数据库
    Linux平台安装Oracle11gR2数据库
  • 原文地址:https://www.cnblogs.com/-moon/p/11115376.html
Copyright © 2011-2022 走看看