nuxt的asyncData在方法内没有办法通过 this调用
1,问题分析:
由于asyncData方法是在组件初始化 前被调用的,并且是在服务端调用所以该方法是没有办法通过 this 来引用的,也就意味着只能在首次重新加载的时候调用,如果遇到了分页,当页码改变的时候不能做服务端的调用。
2,解决方法:
nuxt的官方文档中提供了watchQuery属性可以监听参数字符串的更改。
如果定义的字符串发生变化,将调用所有组件方法(asyncData, fetch, validate, layout, …)。 为了提高性能,默认情况下禁用。
如果您要为所有参数字符串设置监听, 请设置: watchQuery: true.
3,watchQuery的使用方法:
首先如果要全局使用watchQuery,那就在nuxt.config.js中全局配置
module.exports = {watchQuery: true
}
如果不在nuxt.config.js中全局配置,那就默认是只在当前页面的监听
// 分页点击事件的方法pageChange (page) {this.currentPage = page//在页码改变的时候要将参数以query的形式传到路径上this.$router.push({path:'/template',query:{page:page}})
},
watchQuery其实监听的是路径上参数的变化,从而调用
asyncData方法
其原理也是利用的是a标签,但是如果用a标签去跳转的话,每次改变参数,页面就会重新去刷新,那么页面就会有抖动效果,用户体验并不好,但是watchQuery去监听的方式并不会出现这样的情况
export default {//此处的page是当前路径上参数的key名watchQuery: ['page']
}
这样就可以参数改变重新调用asyncData方法
nuxt的asyncData在方法内没有办法通过 this调用相关推荐
- eclipse中用maven多模块管理,然后主项目无法调用其他被依赖项目里的方法,解决办法
eclipse中用maven多模块管理,然后主项目无法调用其他被依赖项目里的方法,解决办法 参考文章: (1)eclipse中用maven多模块管理,然后主项目无法调用其他被依赖项目里的方法,解决办法 ...
- spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获
spring boot: GlobalDefaultExceptionHandler方法内的友好错误提示,全局异常捕获 当你的某个控制器内的某个方法报错,基本上回显示出java错误代码,非常不友好,这 ...
- jit 方法内联_JIT编译器,内联和转义分析
jit 方法内联 即时(JIT) 即时(JIT)编译器是Java虚拟机的大脑. JVM中对JIT编译器的影响最大. 一会儿,让我们退后一步,看看已编译和未编译语言的示例. 诸如Go,C和C ++之类的 ...
- jvm 方法内联_方法内联在JVM中有多积极?
jvm 方法内联 在IntelliJ IDEA中使用Ctrl + Alt + M 提取方法 . Ctrl + Alt + M. 这就像选择一段代码并按此组合一样简单. Eclipse也有它 . 我讨厌 ...
- 方法内联在JVM中有多积极?
IntelliJ IDEA中使用Ctrl + Alt + M 提取方法 . Ctrl + Alt + M. 这就像选择一段代码并按此组合一样简单. Eclipse也有它 . 我讨厌冗长的方法. 对于我 ...
- JS Array.map方法内异步方法无法同步执行
问题: JS Array.map方法内异步方法无法同步执行 场景: 我们在使用map来设置每一项值的时候,涉及到异步操作,就会出现问题. 按照常规,重现出一种情形. 假设我要使用map对每一项值进行操 ...
- Java方法内的局部变量是否线程安全问题
Q1:下面这个方法中的变量x是否线程安全呢? public static void method() {int x = 0;for(int i = 1;i<=10;i++) {x *= i;}S ...
- 解决Android Handler的handleMessage()方法内TextView.setText偶尔不执行的问题
前言 最近项目中要加一个体温测量的外设模块 利用android的串口通信 可以完美的取到测量的体温数据 获取到数据后,在用Handler发送数据到View渲染时 发现一个问题 就是数据能测量到 但是渲 ...
- android notifydatasetchanged 刷新错误,Android 调用notifyDataSetChanged方法失败解决办法
Android 调用notifyDataSetChanged方法失败解决办法 如果使用ListView.GridView等进行数据展示,当绑定的数据有了更新的时候,需要实时刷新ListView,即调用 ...
最新文章
- winform程序最大化时,页面显示不全的问题
- 一句话了解 v-show 和 v-if 的区别
- 群发功能java_利用java实现邮箱群发功能
- ‘Microsoft Office Enterprise 2007 在安装过程中出错‘ 的解决方法
- SharpPcap学习笔记
- Windows10关闭占用某一端口号的进程
- 微博如何发订阅消息_微博怎么添加订阅 - 卡饭网
- 抖音怎么投放广告,抖音广告投放效果
- 最常用三极管导通电路
- HTML 有序列表 字母,HTML之有序列表教程
- 生活随笔--拆弹专家
- 【编译原理】 根据语法树 写出对应的短语 直接短语 句柄 构造产生式
- 1亿条数据批量插入 MySQL,哪种方式最快
- javaweb指导书
- 【人工智能】1.问题求解:启发式搜索算法
- CStdioFile类
- php45 上海北诺,Bio-Gel P6 生物胶P100 Bio-Rad 150-1940
- 【超详细】FL Studio 21新版更新全解析!80项更新与改进!
- 攻防世界shanghai
- 2019国际计算机音乐联会韩国,温州大学音乐学院与韩国全南大学2019年联合培养博士招生及培养商谈会...
热门文章
- 智慧工厂能源监测系统解决方案
- SwinTrack: A Simple and Strong Baseline for Transformer Tracking(NIPS2022)
- github在线查看代码运行的方法
- pycharm里的HTML添加背景,pycharm怎么改变背景颜色-pycharm设置背景颜色的方法
- 电信企业如何应对OTT软件的冲击?
- Qtum量子链关键技术解读
- 【每日一练】31—CSS 实现一个彩色旋转方块loading动画效果
- PHP实现判断学生星座
- 从键盘上输入一个地区名,根据地区名判断属于哪个城市
- HTML5期末大作业:汽车销售网站模板设计(7个页面) HTML+CSS+JavaScript 企业网页设计源码