睿阳知识库 睿阳知识库
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
首页
  • npm库配置
  • PC端

    • npm常用命令
    • vue问题记录
    • SEO基础知识及优化
    • 禁止别人调试我的前端页面代码
  • 移动端

    • 小程序
    • Risun.js使用说明
  • Java

    • Maven库配置
    • RSP开发框架
    • RSP框架插件
  • .NET

    • Nuget库配置
  • Python

    • Pypi库配置
  • 常见问题

    • Word转Pdf字体错乱
    • 使用Jacob进行Word导出PDF
  • 自动部署
  • 前端带路径
  • Linux

    • 应用部署
  • Windows

    • 应用部署
  • 视频监控
  • MySQL系列~
  • 应用高可用
  • 静态代码扫描
  • OpenSSH版本升级
  • 区块链~
  • 软件过程文档目录
  • 著作权申请须知及申报示例
  • 项目申报技巧
  • 项目竣工资料清单
  • 科技项目申报流程及注意事项
  • 初级职称申报
  • 产品需求文档基础知识
  • 产品经理需了解的技术知识
  • 墨刀原型设计指南
  • 文档规范
  • 文档规范
  • 投标工作总结(一)
  • 科技项目申报心得体会
  • 数字孪生
  • AI
  • RSP基础平台
  • RMCloud
  • 区块链
  • 网络态势感知
  • 国产化
  • 数据湖
  • 贡献度
  • 文档编写说明
  • Markdown教程
工作链接
  • npm库配置
  • PC端

    • SEO基础知识及优化
    • npm常用命令
    • vue问题记录
      • 一. 使用this.router.push()进行A-B,B-A 跳转保持原页面的页码状态
      • 二. Vue 响应式原理
      • 三. == 和 === 区别
    • 禁止别人调试我的前端页面代码
  • 移动端

  • 前端
  • PC端
孙超
2023-10-11
目录

vue问题记录

# 一. 使用this.router.push()进行A-B,B-A 跳转保持原页面的页码状态

我们从A页面使用this.router.push("/page/b")跳转至B页面后,关闭B页面会通过this.$router.go(-1) 跳转回A页面,这时候我们会发现A页面页码变成了第一页。

项目需求是修改完毕之后再回来A页面时保持与跳转前一样的页码。处理方式如下:

A页面中:

// 跳转到B页面的方法
showPageB() {
  sessionStorage.setItem('page', this.queryParams.pageNum)
  // 业务逻辑
},

// Dom元素渲染前获取之前的页码
created() {
  if (sessionStorage.getItem('page')) {
    this.queryParams.pageNum = parseInt(sessionStorage.getItem('page'), 10)
    sessionStorage.removeItem('page')
  } 
  // 业务逻辑
}

# 二. Vue 响应式原理

详情请查看官网:https://v2.cn.vuejs.org/v2/guide/reactivity.html

由于 JavaScript 的限制,Vue 不能检测数组和对象的变化。

  1. 对象: this.$set(object, propertyName, value)

  2. 数组:this.$set(arr, indexOfArr, newValue)

  3. Vue 不允许动态添加根级响应式 property,所以你必须在初始化实例前声明所有根级响应式 property,哪怕只是一个空值。

  4. Vue 在更新 DOM 时是异步执行,当你设置 vm.someData = 'new value',该组件不会立即重新渲染。 如果你想基于更新后的 DOM 状态来做点什么,可以在数据变化之后立即使用 Vue.nextTick(callback)。这样回调函数将在 DOM 更新完成后被调用。

Vue.component('example', {
  template: '<span>{{ message }}</span>',
  data: function () {
    return {
      message: '未更新'
    }
  },
  methods: {
    updateMessage: function () {
      this.message = '已更新'
      console.log(this.$el.textContent) // => '未更新'
      this.$nextTick(function () {
        console.log(this.$el.textContent) // => '已更新'
      })
    }
  }
})

# 三. == 和 === 区别

  • == 和 === 都是用于比较两个值是否相等的操作符。== 会进行类型转换,=== 不会进行类型转换。

    • 5 == "5" // 返回 true,因为值相等,尽管类型不同

    • 5 === "5" // 返回 false,因为值相等,类型不同

  • != 和 !== 都是用于比较两个值是否不相等的操作符。!= 会进行类型转换,!== 不会进行类型转换。

    • 5 != "5" // 返回 false,因为值相等,尽管类型不同

    • 5 !== "5" // 返回 true,因为值相等,类型不同

npm常用命令
禁止别人调试我的前端页面代码

← npm常用命令 禁止别人调试我的前端页面代码→

最近更新
01
RSP进度
10-09
02
贡献度
09-28
03
视频监控
09-26
更多文章>
Copyright © 2014-2025 甘肃睿阳科技有限公司 陇ICP备15001783-1号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式