<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. 中电金信技术实践|Redis哨兵原理及安装部署分享

    ​ 导语:本文主要围绕redis Sentinel的基本概念.部署Redis Sentinel模式和其相关的API等内容进行介绍,并讲述哨兵与主从关系的区别,以及哨兵机制是怎么实现高可用的,希望可以与 ...

  2. 简单软件架构的一些好处zz

    简单软件架构的一些好处_大数据_Dan Luu_InfoQ精选文章 Wave 是一家价值 17 亿美元的公司,拥有 70 名工程师,该公司的产品是一款加减数字的 CRUD 应用程序.为了与此保持一致, ...

  3. maven 太垃圾

    Java mon amour: Maven sucks like hell http://www.javamonamour.org/2010/08/maven-tricks.html 搜 why ma ...

  4. Spring boot 2.0 之优雅停机

    spring boot 框架在生产环境使用的有一段时间了,它"约定大于配置"的特性,体现了优雅流畅的开发过程,它的部署启动方式(java -jar xxx.jar)也很优雅.但是我 ...

  5. com.sun.xml.internal.messaging.saaj.util 不存在

    maven 编译时报错:程序包com.sun.xml.internal.messaging.saaj.util不存在需要添加 <compilerArguments> <verbose ...

  6. APP网站小程序微信登录同步:需要微信公众号、小程序、开放平台打通用户体系(不同主体也行)

    要想APP网站小程序微信登录同步打通用户体系.我们需要将(不同主体也行)多个公众号和小程序都绑定到同一个微信开放平台上,获取到UnionID记录到数据库就可以了. 微信UnionID 机制说明 如果开 ...

  7. 以大模型攻大模型之💫Jailbreaking Black Box Large Language Models in 🎢Twenty Queries

    "在高层次上,PAIR将两个黑盒LLMs--我们称之为攻击者和目标--相互对抗--"具体是如何对抗的?请各位看官仔细阅读~

  8. [转]OpenCV使用之-----BruteForceMatcher无法使用

    最近Opencv升级比较快,从2.4.0到2.4.1到2.4.2,使得我这个还在使用2.3.1的人很不好意思,而且听说新版本里添加了tbb并行功能,急着想用这些功能的我赶紧下了2.4.2. 按部就班的 ...

  9. [转]CUDA,NVIDIA Driver,Linux,GCC之间的版本对应关系表格

    在安装CUDA时一定要注意其与英伟达显卡驱动以及Linux系统和GCC版本的对应关系,如果版本之间不匹配,是安装不成功的. 一.CUDA与Driver的对应版本 参考链接:https://docs.n ...

  10. JedisPool和Jedis推荐的生命周期

    在开发 Web 项目时,使用 Jedis 客户端与 Redis 进行交互时,通常建议将 JedisPool 设置为单例或静态的,而 Jedis 实例则不应该是单例的.以下是详细的解释和最佳实践: 1. ...