码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【前端工程化】nuxt项目,asyncData方法不触发的原因排查


    预警,初级内容,菜鸟必看,大佬请绕道

    首先我们应该了解一下nuxt项目是用于服务端渲染的框架,

    asyncData方法会在组件(限于页面组件)每次加载之前被调用。它可以在服务端或路由更新之前被调用。在这个方法被调用的时候,第一个参数被设定为当前页面的上下文对象,你可以利用 asyncData方法来获取数据并返回给当前组件。

    划重点

    1. 仅限于页面组件,也就是说这个组件对应着某个路由才会被调用

    2. 服务端运行asyncData,是在首屏加载(即,强制刷新时运行)

    2. 路由更新之前会被调用,也就是说,在前端使用vue-router之类的路由跳转也会触发页面的asyncData方法,这个时候asyncData由浏览器运行

    注意,在开发的时候我们在asyncData中console.log打印的日志能正常展示,但是如果build之后的代码运行起来,就看不到日志了,因为这个日志打印在了服务端,所以可能给你一种asyncData没有执行的感觉。

    扩展知识

    1. 首屏:一般我们做优化的时候,这个首屏的概念是指在地址栏输入回车后(也就是强制刷新),显示的第一个页面,前端路由跳转后就不是首屏了

    首屏时间是指浏览器从响应用户输入网址地址,到首屏内容渲染完成的时间,此时整个网页不一定要全部渲染完成,但在当前视窗的内容需要

    2. history路由,在地址栏输入回车之后(强制刷新),走的是后端服务器(此时,asyncData在服务端运行),如果地址不存在就会404;但是前端路由跳转(router.push)等是浏览器的路由切换,所以asyncData在浏览器中运行

     可以自己试一下,从另外一个页面,调用路由切换的方法,network中是找不到这个请求的!但是依旧会调用asyncData方法

    1. this.$router.push({
    2. path: '/hhhhhhhhhhhhh'
    3. });

    所以如果你的asyncData不触发

    (1)检查一下是不是正确的写在了页面级别的组件中。

    (2)是不是在线上环境(build之后),以asyncData中打印的日志是否输出,判断了函数是否执行(注意线上环境是不会展示asyncData中的日志的)

  • 相关阅读:
    云服务多语言 SDK
    国内表格软件-FineReport Count函数
    实战讲解SpringCloud网关接口限流SpringCloudGateway+Redis(图+文)
    马斯克 0 元垫底、年薪近 1 亿美元的库克仅排第四?“魔幻”的 CEO 薪酬排名曝光
    式子表达ds类——多用位置/值域表示未知数+区间覆盖转区间加:CF407E
    【pointNet】基于pointNet的三维点云目标分类识别matlab仿真
    正点原子嵌入式linux驱动开发——新字符设备驱动实验
    数字化时代,中小企业如何落地数字化转型
    Spring框架(十一):手动实现一个@Component,讲一讲Spring的工厂后处理器
    python 脚本 解决 windows 端口占用问题
  • 原文地址:https://blog.csdn.net/qq_17335549/article/details/127112529
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号