当前位置: 首页 > news >正文

nuxt核心原理4nuxt的asyncData在方法内没有办法通过 this调用

1,问题分析:

由于asyncData方法是在组件初始化 前被调用的,并且是在服务端调用所以该方法是没有办法通过 this 来引用的,也就意味着只能在首次重新加载的时候调用,如果遇到了分页,当页码改变的时候不能做服务端的调用。

2,解决方法:

nuxt的官方文档中提供了watchQuery属性可以监听参数字符串的更改。

如果定义的字符串发生变化,将调用所有组件方法(asyncData, fetch, validate, layout, …)。 为了提高性能,默认情况下禁用。

如果您要为所有参数字符串设置监听, 请设置: watchQuery: true.

3,watchQuery的使用方法:

首先如果要全局使用watchQuery,那就在nuxt.config.js中全局配置

module.exports = {
    watchQuery: true
}
1
2
3
如果不在nuxt.config.js中全局配置,那就默认是只在当前页面的监听

// 分页点击事件的方法

pageChange (page) {
    this.currentPage = page
    //在页码改变的时候要将参数以query的形式传到路径上
    this.$router.push({
        path:'/template',
        query:{
            page:page
        }
    })
},
1
2
3
4
5
6
7
8
9
10
11
12
watchQuery其实监听的是路径上参数的变化,从而调用
asyncData方法

其原理也是利用的是a标签,但是如果用a标签去跳转的话,每次改变参数,页面就会重新去刷新,那么页面就会有抖动效果,用户体验并不好,但是watchQuery去监听的方式并不会出现这样的情况

export default {
   //此处的page是当前路径上参数的key名
    watchQuery: ['page'] 
}
1
2
3
4
这样就可以参数改变重新调用asyncData方法

相关文章:

  • zlib 在 Visual Studio 2005 下编译失败的解决办法
  • nuxt 核心原理5 路由表的遍历处理 从后端路由层拦截
  • 网络聊天室(Java)
  • react ssr方法
  • Palm之祭
  • 304详解 gzip压缩 虚拟主机
  • 看Borland IDE向何处去
  • jwt原理
  • 我的BCB情缘
  • koa session 签名 cookie等
  • 作了Redhat Linux的基础课测试,刚好达到及格的标准,还是要多加学习啊!
  • express精简
  • react hooks1
  • CC2e:《代码大全(第2版)》集萃
  • js 数组API之every、some用法
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 77. Combinations
  • Logstash 参考指南(目录)
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Mysql数据库的条件查询语句
  • Python学习之路13-记分
  • SpiderData 2019年2月25日 DApp数据排行榜
  • 安装python包到指定虚拟环境
  • 半理解系列--Promise的进化史
  • 猴子数据域名防封接口降低小说被封的风险
  • 物联网链路协议
  • 怎么把视频里的音乐提取出来
  • 正则表达式小结
  • !!Dom4j 学习笔记
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (LeetCode C++)盛最多水的容器
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (动态规划)5. 最长回文子串 java解决
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (原創) 未来三学期想要修的课 (日記)
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)socket Aio demo
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [BZOJ] 1001: [BeiJing2006]狼抓兔子
  • [BZOJ4566][HAOI2016]找相同字符(SAM)
  • [CareerCup] 14.5 Object Reflection 对象反射
  • [CCIE历程]CCIE # 20604
  • [hdu 2896] 病毒侵袭 [ac自动机][病毒特征码匹配]
  • [leetcode 数位计算]2520. 统计能整除数字的位数
  • [LeetCode] Binary Tree Preorder Traversal 二叉树的先序遍历
  • [leetcode]56. Merge Intervals归并区间
  • [Matlab有限元分析] 2.杆单元有限元分析
  • [php] 数据结构算法(PHP描述) 快速排序 quick sort
  • [Python3网络爬虫开发实战] 5.3-非关系型数据库存储
  • [pytorch] 2. tensorboard
  • [Qt]设置窗口图标和EXE应用程序图标