Nuxt 生命周期

2023-05-16

目录

      • 服务端生命周期
        • 1.nuxtServerInit(nuxt中第一个运行的生命周期)
        • 2.RouteMiddleware(第二个:中间键,路由导航守卫)
        • 4.validate() 是用来校验url参数符不符合
        • 5.asyncData()
        • 6.fetch
      • 服务端和客户端共有的生命周期
          • beforeCreate
          • created
      • 客户端生命周期(Vue的生命周期)


Nuxt分为客户端和服务端的生命周期

服务端生命周期

服务端生命周期运行完了之后再运行客户端(跟页面没有关系,每个页面都会执行服务端生命周期)

1.nuxtServerInit(nuxt中第一个运行的生命周期)

// 在store(vuex)
export const  state={
    token:'tokennnnnn'
}

export const mutations={
    setToken(state,token){
        state.token=token
    }
}

export const actions={
    nuxtServerInit(store,context){
    // 也是有参数的
	// 参数1:vuex上下文
	// 参数2:nuxt上下文
        console.log('nuxtServerInit');
        store.commit('setToken','abc123')
        // 执行setToken之后再打印
        console.log(store);
    }
}

2.RouteMiddleware(第二个:中间键,路由导航守卫)

2-1 全局
在nuxt.config.js文件中的export default下

  router:{
    // 定义一个名称
    middleware:'auth'
  }

在项目文件中新建一个文件夹middleware中再新建一个对应在配置文件中起的名字(auth)的js文件
项目/middleware/auth.js

// vuex 路由信息 要跳转的页面 传递的参数 请求头 请求接口返回的数据
export default function({store,route,redirect,params,req,res}){
    // 判断是否有token(就是是否登陆了,如果没有就跳转到指定的页面去)
    let token = store.state.token
    if(!token){
        redirect('/list')
    }
    console.log('middleware')
}

2-2 局部
在要使用的页面中js中的export default配置个

 middleware:'auth'

跟全局差不多,就是配置的位置不同,新建。。。。。
也可以在组件内

middleware(){
// 内容 // 这样就不用新建文件了
}

4.validate() 是用来校验url参数符不符合

在页面中使用

validate({params,query}){
	// 可以拿到参数信息
    console.log('validate',params.id);
    // 如果不返回true就会报错,页面就会跳转到404的页面
    return true
}

如果用户将url中的query参数修改或者删除,那么就会,,,,,
在正常的vue项目中会有一层判断,这个参数有没有
在nuxt中就有个validate

return /^\d+$/.test(query.id)

5.asyncData()

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

在components文件中的组件使用不了,fetch就都可

asyncData({store,params}){
  console.log('asyncData');
}

6.fetch

fetch 方法用于在渲染页面前填充应用的状态树(store)数据, 与 asyncData 方法类似,不同的是它不会设置组件的数据。

如果页面组件设置了 fetch 方法,它会在组件每次加载前被调用(在服务端或切换至目标路由之前)。

在components文件中的组件使用不了,fetch就都可

fetch({app,store,params}){
  console.log('fetch');
}

服务端和客户端共有的生命周期

beforeCreate
created

客户端生命周期(Vue的生命周期)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nuxt 生命周期 的相关文章

  • docker部署简易Prometheus

    注 xff1a 部署前可以先系统的学习一下 xff1a Introduction Prometheus中文技术文档 在之后需要书写自定义告警的 xff0c 需要在学习一下PromQL语言 xff0c 一般网上也能搜到 xff0c 可以在安装
  • k8s面试题-进阶

    1 简述etcd及其特点 etcd是CoreOS团队发起的开源项目 xff0c 是一个管理配置信息和服务发现 xff08 service discovery xff09 的项目 xff0c 它的目标是构建一个高可用的分布式键值 xff08
  • 制作Alpine Linux镜像报错errors: 15 distinct packages available

    1 执行报错 执行docker build t 镜像 版本 f Dockerfile 报错 xff1a 2 查看网上的解决思路 网上文档解决思路 xff1a 这边我做了一下改变把这些写入了dockerfile 加了几个RUN RUN rm
  • C++ class与struct的区别

    在C语言中 xff0c struct是作为数据类型存在的 xff0c 因此其中只能包含变量 xff0c 不可以包含函数 xff0c 结构相对简单 而C 43 43 采用OOP编程思想 xff0c 为struct扩充了很多属性 xff0c 使
  • 【ros学习】13.URDF机器人建模详解

    一 URDF简介 URDF xff08 Unified Robot Description Format xff09 统一机器人描述格式 xff0c URDF使用XML格式描述机器人文件 URDF语法规范 xff0c 参考链接 xff1a
  • 如何强制“git pull”覆盖本地文件?

    问题描述 xff1a 如何强制覆盖 git pull 上的本地文件 xff1f 我的本地存储库包含一个文件名与服务器上相同的文件 错误 xff1a 未跟踪的工作树文件 example txt 将被合并覆盖 解决方案1 huntsbot co
  • 如何克隆特定的 Git 分支? [复制]

    问 xff1a 这个问题在这里已经有了答案 xff1a How do I clone a single branch in Git 26 个回答 8 年前关闭 Git clone 会将远程分支克隆到本地 有没有什么方法可以自己克隆一个特定的
  • tensorflow报错:InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [12]

    tensorflow报错 xff1a InvalidArgumentError Assign requires shapes of both tensors to match lhs shape 61 12 rhs shape 61 6 我
  • opencv矩形轮廓查找

    之前公司软件版本是在通过调用摄像头再手动圈定仪器数字区域进行识别 xff0c 现在在此基础上实现自动定位 xff0c 检测出所有的矩形通过其宽高之比和面积进行筛选 xff0c 部分关键代码如下 自动定位数字区域 include lt ope
  • Nginx部署多个Vue项目,配置不同域名

    文章目录 一 前言二 上传dist文件三 配置nginx cnf四 域名解析 一 前言 一个服务器需要部署多个前端项目 比如需要一个企业官网比如需要一个管理系统 这时候一个Nginx要怎么配置多个前端项目呢本文详细讲解 xff1a 通过不同
  • ESP32-C3入门教程 问题篇⑫——undefined reference to rom_temp_to_power, in function phy_get_romfunc_addr

    文章目录 一 前言 二 发现问题 三 解决问题 一 前言 本文基于VS Code IDE进行编程 编译 下载 运行等操作 基础入门章节请查阅 ESP32 C3入门教程 基础篇 基于VS Code构建Hello World 教程目录大纲请查阅
  • USART RX 不上拉的后果

    这两天写一个STM32的程序 xff0c 其中USART1是要接一个串口屏做显示的 xff0c 调试前期是还没用到显屏 xff0c 就拿USART1做log打印 然后就发现了一个很怪异的现象 USART1串口转usb接到电脑 xff0c 程
  • 虚拟机ros系统安装

    一 新建虚拟机 1 这里选择自定义安装 这里为了灵活性一般使用稍后安装 红款内根据自己情况选择安装路径 这一步一定要选择IDE否则开机 会报错 这里默认20g就够用 点击完成虚拟机就安装完成了 二安装ros系统 点击这个光驱安装镜像 把镜像
  • 用python实现realsenseD435i相机实现视频显示,并按空格键执行拍照,保存照片的程序

    为了使用Intel RealSense D435i相机 xff0c 我们需要安装pyrealsense2库 你可以通过以下命令安装它 xff1a pip install pyrealsense2 下面是一个使用pyrealsense2库实现
  • 二元信号量、互斥量和临界区之间的区别

    二元信号量 适合只能被唯一一个线程独占访问的资源 多元信号量 适合允许多个线程并发访问的资源 互斥量 和二元信号量类似 xff0c 资源仅同时允许一个线程访问 xff0c 但和信号量不同的是 xff0c 信号量在整个系统可以被任意线程获取并
  • ROS摄像机的标定

    本文主要为ROS camera calibration 单目相机标定教程的翻译 原文 xff1a http wiki ros org camera calibration Tutorials MonocularCalibration 仅供英
  • <视觉>——单目相机的标定(简单原理+Opencv实现)

    单目相机的标定原理大致如下 xff1a 世界坐标到像素坐标的转换 期间的参数有S尺度因子 xff0c 内参矩阵K xff0c 旋转矩阵R xff0c 平移矩阵T xff0c 一共八个未知数 在Opencv中我们可以方便的根据相机拍摄不同位姿
  • Python入门自学进阶-Web框架——4、HttpRequest和HttpResponse及模板

    HTTP请求中产生两个核心的对象 xff1a http请求 xff1a HttpRequest对象 http响应 xff1a HttpResponse对象 所在位置django http xff0c 前边用的reques就是HttpRequ
  • 维修杜邦线(母头)

    在一个研发团体中 xff0c 即使有某一位或几位财大气粗的 xff0c 也难免有其他成员借设备使用的 xff0c 研发过程中使用的电子设备在底层通讯之间大都采用杜邦线连接 xff0c 大家都熟悉 xff0c 优点就不说了 xff0c 先说说
  • 【酷毙了】野火新版fireTools多功能调试助手,有Windows和Linux版本,就问你喜不喜欢。...

    01 软件简介 野火fireTools 多功能调试助手 xff0c 是一款使用QT开发 xff0c 可以在Windows和Linux环境下完美运行的绿色客户端 xff0c 不需要安装 xff0c 双击即可运行 xff0c 其功能包括 xff

随机推荐

  • 结合模型,视频动态演示PID三个参数的作用!

    PID控制器 xff08 比例 积分 微分控制器 xff09 xff0c 由比例单元 xff08 P xff09 积分单元 xff08 I xff09 和微分单元 xff08 D xff09 组成 可以通过调整这三个单元的增益Kp xff0
  • 单片机数字滤波算法如何实现?(附代码)

    ID xff1a 技术让梦想更伟大 整理 xff1a 李肖遥 单片机主要作用是控制外围的器件 xff0c 并实现一定的通信和数据处理 但在某些特定场合 xff0c 不可避免地要用到数学运算 xff0c 尽管单片机并不擅长实现算法和进行复杂的
  • HNU软件能力实训2-9. 字符串压缩

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 给定一个由n个小写字母组成的字符串s xff0c 需要使用最少数量的钱币来压缩它 压缩该字符串 xff0c 必须将s表示为多个相互连接的
  • HNU软件能力实训2-21. 新型冠状病毒(COVID19)传播

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 防控新冠病毒 xff0c 必须时刻引起大家的足够重视 xff0c 特别是人员集中活动场所 xff0c 保持好社交距离 然而 xff0c
  • HNU软件能力实训3-8. ab串

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 给定一个由字符 a 和字符 b 组成的字符串 xff0c 可以删除若干字符 xff0c 使得剩下来的字符串满足前后段为a xff0c 中
  • HNU软件能力实训3-9. 占座位

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 一个人可以去占多个座位 xff0c 而且一定是要连续的座位 xff0c 如果占不到他所要求的这么多座位 xff0c 那么他就一个座位也不
  • ROS编程入门(C++ 及 思路)

    使用Autolabor官方入门教程 xff0c 笔记内容为注意事项 首页 Autolabor开源ROS机器人底盘 官方网站 一 ROS通信机制的解释 例如在生活中 xff0c 我们在家里有一个放零食的箱子 xff0c 而操作服务器就是这个箱
  • HNU软件能力实训4-5. 小希的数表

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 Gardon 昨天给小希布置了一道作业 xff0c 即根据一张由不超过 5000 的 N 3 lt 61 N lt 61 100 个正整
  • HNU软件能力实训4-12. 疫情期间

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 正值新冠疫情期间 xff0c 阿迪没法返回学校学习 xff0c 他希望通过参加一些比赛来提高一下编程技能 xff0c 同时做做运动 他收
  • HNU软件能力实训4-14. 组个最小数

    写在前面 你好 xff01 欢迎来到我的博客 xff0c 希望我的思路能够帮到你 xff01 问题描述 给定数字0 9各若干个 你可以以任意顺序排列这些数字 xff0c 但必须全部使用 目标是使得最后得到的数尽可能小 xff08 注意0不能
  • CMakeLists.txt的编写

    首先是编写好的CMakeLists txt文件 span class token function cmake minimum required span span class token punctuation span VERSION
  • 第一课 神经网络与深度学习 第二周 神经网络基础(已完结(虽然有坑))

    视频地址 二分分类 怎么说 xff0c 第一段话就颠覆了我的想象 xff0c 遍历m个样本不需要用for循环 这里是介绍了图片的预处理 xff0c 将图片切分为rgb三个颜色空间 xff08 这个我熟 xff09 xff0c 然后将所有的分
  • leetcode 1200. 最小绝对差

    1200 最小绝对差 span class token keyword class span span class token class name Solution span span class token punctuation sp
  • 648. 单词替换

    648 单词替换 span class token keyword class span span class token class name Solution span span class token punctuation span
  • 1217. 玩筹码

    1217 玩筹码 span class token comment 由题目描述可知 xff0c 移动1步成本为1 移动2步没有成本 那么我们可以不耗费成本的将不同奇数位置的筹码移动到某一个奇数位置 此时的成本为0 同理 也可以将不同偶数位置
  • dronekit控制实体无人机起飞降落

    摘要 xff1a 本文基于dronekit在实体无人机上实现最基本的起飞和降落 xff0c 测试了这一过程中速度的变化以及起落位置的偏移 实体实验环境 树莓派4BUbuntu mate 20 04飞控Pixhawk 2 4 8飞控固件APM
  • Gazebo中针对Gazebo软件或生成模型出现process has died问题的参考方案

    在基于ROS机器人仿真时 xff0c 打开Gazebo经常出现一些问题 xff0c 比如Gazebo窗口打开了 xff0c 终端却显示gazebo进程已死 本文记录了一次遇到的类似问题 xff0c 并给出了在部分情况下能够适用的参考方案 问
  • ROS 入门 (launch文件)

    本章主要内容介绍在ROS中上述问题的解决策略 见本章目录 xff0c 预期达成学习目标也与上述问题对应 xff1a 掌握元功能包使用语法 xff1b 掌握launch文件的使用语法 xff1b 理解什么是ROS工作空间覆盖 xff0c 以及
  • 报错:Multiple annotations found at this line: - user cannot be resolved

    问题 xff1a Multiple annotations found at this line user cannot be resolved 第一步 xff1a 右键找到Build Path 点击Configure Build Path
  • Nuxt 生命周期

    目录 服务端生命周期1 nuxtServerInit nuxt中第一个运行的生命周期 2 RouteMiddleware 第二个 xff1a 中间键 xff0c 路由导航守卫 4 validate 是用来校验url参数符不符合5 async