<template>
<div>
<!-- 用户页的面包屑导航 -->
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<router-link to="/" class="text-decoration-none">首页</router-link>
</li>
<li class="breadcrumb-item active">
<router-link to="/users" class="text-decoration-none">用户</router-link>
</li>
</ol>
</nav>
<!-- 用户列表以及用户查看、用户详情、编辑用户是左右两个独立的部分 -->
<div class="row">
<!-- 用户列表 -->
<div class="col-3">
<h1>用户列表</h1>
<div class="list-group">
<!-- 跳转用户详情路由链接 -->
<router-link
v-for="id in ids"
:key="id"
:to="`/users/${id}`"
class="list-group-item list-group-item-action"
:class="{ active: id === currentId }"
>用户 {{ id }}</router-link>
</div>
</div>
<div class="col-9">
<router-view name="users-alert"></router-view>
<router-view></router-view>
</div>
</div>
</div>
</template> <script>
export default {
name: 'Users',
}
</script> <script setup>
import {
ref,
watch,
onBeforeMount,
onMounted,
onBeforeUpdate,
onUpdated,
onBeforeUnmount,
onUnmounted,
onActivated,
onDeactivated,
} from 'vue';
import { useRoute } from 'vue-router';
const ids = ref([1, 2, 3, 4, 5]); // 通过 useRoute 钩子声明当前 route 路由对象
const route = useRoute();
// 声明一个响应式数据为当前选中的用户id
const currentId = ref(null);
// 利用 watch 监控确认在不同用户点击以后路由参数发生变化
watch(
() => route.params.id,
(val) => {
// 对当前选中的用户id重新赋值
// 将变化以后新值在数据类型转化以后再给它
currentId.value = +val;
},
{immediate: true} // 初始执行一次,刷新选中对应用户
); // 初始
onBeforeMount(() => {
console.log('Users onBeforeMount');
}); onMounted(() => {
console.log('Users onMounted');
}); // 更新
onBeforeUpdate(() => {
console.log('Users onBeforeUpdate');
}); onUpdated(() => {
console.log('Users onUpdated');
}); // 销毁
onBeforeUnmount(() => {
console.log('Users onBeforeUnmount');
}); onUnmounted(() => {
console.log('Users onUnmounted');
}); // 激活
onActivated(() => {
console.log('Users onActivated');
}); // 失活
onDeactivated(() => {
console.log('Users onDeactivated');
});
</script>

vue生命周期调用的更多相关文章

  1. vue生命周期的介绍

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. vue 生命周期

    一 vue的生命周期如下图所示(很清晰) 二 vue生命周期的栗子 注意触发vue的created事件以后,this便指向vue实例,这点很重要 <!DOCTYPE html> <h ...

  3. vue生命周期的理解

    我从官网上下载了一张vue生命周期的图,接下来实际分析一波vue到底执行了什么东西. 1.我们在使用vue时必不可少的操作就是 var vm = new Vue({}),这样我们就创建了一个vue的实 ...

  4. Vue生命周期,面试常见问题

    一.对于MVVM的理解? MVVM 是 Model-View-ViewModel 的缩写.Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑.View 代表UI 组件,它负责将数 ...

  5. 【Vue笔记】-- 详解vue生命周期

    针对于Vue的生命周期进行详细的说明,方面加深对各个方法的引用. 引言: 前几天重新回顾vue官网时,看到vue的生命周期,想着自己用vue开发了快一年了,就总结总结vue知识,再次加深自己对vue的 ...

  6. 面试题之(vue生命周期)

    在面试的时候,vue生命周期被考察的很频繁. 什么是vue生命周期呢? Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程,我们称这 ...

  7. 深入 Vue 生命周期

    深入 Vue 生命周期 这篇博客将会从下面四个常见的应用诠释组件的生命周期,以及各个生命周期应该干什么事 1.单组件的生命周期 2.父子组件的生命周期 3.兄弟组件的生命周期 4.宏mixin的生命周 ...

  8. vue生命周期图示中英文版Vue实例生命周期钩子

    vue生命周期图示中英文版Vue实例生命周期钩子知乎上近日有人发起了一个 “react 是不是比 vue 牛皮,为什么?” 的问题,Vue.js 作者尤雨溪12月4日正面回应了该问题.以下是尤雨溪回复 ...

  9. 04: vue生命周期和实例属性和方法

    1.4 组件的生命周期 1.说明 1. Vue将组件看成是一个有生命的个体,跟人一样,定义了各个阶段, 2. 组件的生命周期:组件的创建过程 3. 组件生命周期钩子函数:当组件处在某个阶段,要执行某个 ...

  10. vue生命周期钩子

    转载自:https://segmentfault.com/a/1190000008010666?utm_source=tag-newest https://segmentfault.com/a/119 ...

随机推荐

  1. Nginx日志重定向到标准输出

    背景静态站点使用`docker`部署时,希望`nginx前台启动`的同时可以将错误日志和访问日志全部重定向到标准输出,便于采集和处理! 实现只需要修改`nginx.conf`中`3行`关于日志的配置就 ...

  2. 离线部署yum依赖

    利用本地源解决在无网环境部署应用需要解决的问题: 应用需要哪些软件包? 如何把应用依赖的软件包制作成一个精简的本地源? 如何使用本地源? 第一个问题使用yum-utils解决,它带的repotrack ...

  3. Qt5离线安装包无法下载问题解决办法

    1.前言 Qt5离线安装包目前在国内已经被墙了,无法下载,只能下载在线安装包: 直接访问会显示Download from your IP address is not allowed: 本文就提出两种 ...

  4. 今天记录一下管理系统中预览pdf的方法

    在管理系统中,有很多需要预览文件的操作,既方便用户查看又可以不用打开新的页面,我发现一个不错的方法,记录一下 <el-dialog title="" :visible.syn ...

  5. 【开源】C#上位机必备高效数据转换助手

    一.前言 大家好!我是付工. 我们在进行上位机开发时,从设备端获取到的数据之后,需要进行一定的数据处理及转换,才能生成我们需要用的数据. 这其中就涉及到了各种数据类型之间的相关转换,很多非科班出身的电 ...

  6. CDS标准视图:催款范围 I_DunningArea

    视图名称:催款范围 I_DunningArea 视图类型:基础 视图代码: 点击查看代码 @AccessControl.authorizationCheck: #CHECK //authority c ...

  7. 题解:AT_abc386_d [ABC386D] Diagonal Separation

    分析题面,发现题目求的是是否存在一个白点被 \((1, 1)\) 和任意一个黑点围成的矩形内. 先将所有黑点按 \(x\) 坐标排序. 枚举所有的白点. 找到所有横坐标不比该白点横坐标小的所有黑点的纵 ...

  8. .NET8.0多线程编码结合异步编码示例

    1.创建一个.NET8.0控制台项目来演示多线程的应用 2.快速创建一个线程 3.多次运行程序,可以得到输出结果 这就是多线程的特点 - 当多个线程并行执行时,它们的具体执行顺序是不确定的,除非我们使 ...

  9. springboot整合security实现权限控制

    1.建表,五张表,如下:1.1.用户表CREATE TABLE `t_sys_user` ( `user_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ...

  10. 安全可信 | 首批!天翼云边缘安全加速平台AccessOne通过信通院“软件自研创新能力”专项评估

    近日,中国信息通信研究院(以下简称"中国信通院")公布"软件自研创新能力"专项评估(简称"可信研创")结果,天翼云边缘安全加速平台Acces ...