Java VUE面试题解析(中)

8. MVVM和MVC区别?它和其它框架的区别是什么?哪些场景适合?【重点】

MVC和MVVM其实区别并不大,都是一种设计思想。主要就是MVC中Controller演变成MVVM中的View Model。MVVM主要解决了MVC中大量的DOM操作使页面渲染性能降低、加载速度变慢、影响用户体验。

区别:Vue数据驱动,通过数据来显示视图层而不是节点操作。

场景:数据操作比较多的场景,更加便捷。

9. Vue的优点是什么?【了解】

低耦合:

视图(View)可以独立于Model变化和修改,一个View Model可以绑定到不同的视图上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。

可重用性:

可以将一些视图逻辑放在一个View Model里面,让很多View重用这段视图逻辑。

独立开发:

开发人员可以专注于业务逻辑和数据的开发(View Model),设计人员可以专注于页面设计。

可测试:

界面素来是比较难于测试的,而现在测试可以针对View Model来写。

10. 路由之间跳转?【重点】

Router-link无参数跳转:

//使用name、path方式都行, 建议用name

<router-link :to="{name:'home'}">

<router-link :to="{path:'/home'}">

Router-link带参数跳转:Params传递参数:

<router-link :to="{name:'home', params: {id:1}}">

<router-link :to="{path:'/home', params: {id:1}}">

取参:

this.$route.params.id

Query传递参数:

<router-link :to="{name:'home', query: {id:1}}">

取参:

this.$route.query.id

编程式路由(无参):

this.$router.push('/home')

this.$router.push({name:'home'})

this.$router.push({path:'/home'})

编程式路由(有参):

Query传递参数:

this.$router.push({name:'home',query: {id:'1'}})
this.$router.push({path:'/home',query: {id:'1'}})

取参:

this.$route.query.id

Params传递参数:

this.$router.push({name:'home',params: {id:'1'}})

取参:

this.$route.params.id

Query与Params传递参数区别:

Query类似get,跳转之后页面url后面会拼接参数,类似?id=1。

Params类似post, 跳转之后页面url后面不会拼接参数,但是刷新页面id会消失。

使用replace()函数跳转:

//参数的具体格式同push

this.$router.replace()

使用go()函数跳转:

//向前或者向后跳转n个页面,n可为正整数或负整数

this.$router.go(n)

Push跳转与Replace跳转的区别:

Push跳转到指定URL路径,并向History栈中添加一个记录,点击后退会返回到上一个页面。

Replace跳转到指定URL路径,但是History栈中不会有记录,点击返回会跳转到上上个页面。

11. Vue CLI中怎样使用自定义的组件?【掌握】

第一步:在components目录新建你的组件文件indexPage.vue,script一定要export default {}。

第二步:在需要用的页面(组件)中导入:import indexPage from ‘@/components/indexPage.vue’。

第三步:注入到Vue的子组件的components属性上面,components:{indexPage}。

第四步:在template中使用。

12. V-show和V-if指令的共同点和不同点?【重点】

v-show指令是通过修改元素的display的CSS属性让其显示或者隐藏;

v-if指令是直接销毁和重建DOM树达到让元素显示和隐藏的效果;

使用v-show会更加节省性能上的开销;当只需要一次显示或隐藏时,使用v-if更加合理。

13. 怎么定义vue-router的动态路由以及如何获取传过来的动态参数?【掌握】

定义:在router目录下的index.js文件中,对path属性加上后缀,例如/user/:id。

取参:使用route对象的params.id属性。

14. 什么是Vue生命周期?【重点】

Vue实例从创建到销毁的过程,就是生命周期。

也就是从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程,我们称这是Vue的生命周期。

Vue生命周期总共分为8个阶段:创建前/后, 载入前/后,更新前/后,销毁前/销毁后。

创建前/后:在beforeCreate阶段,Vue实例的挂载元素el和数据对象data都为undefined,还未初始化。在created阶段,Vue实例的数据对象data有了,el还没有。

载入前/后:在beforeMount阶段,Vue实例的$el和data都初始化了,但还是挂载之前为虚拟的Dom节点,data数据还未替换。在mounted阶段,Vue实例挂载完成,data数据成功渲染。

更新前/后:当data变化时,会触发beforeUpdate和updated方法。

销毁前/后:在执行destroy方法后,对data的改变不会再触发周期函数,说明此时Vue实例已经解除了事件监听以及和Dom的绑定,但是Dom结构依然存在

第一次页面加载时会触发beforeCreate, created, beforeMount, mounted这几个钩子函数。

DOM渲染在mounted中就已经完成了。

生命周期钩子的常用场景:

beforeCreate:可以在此时加一些loading效果,在created时进行移除;

created:一般可以在此时发送一些网络请求,获取数据;

mounted:一般第一个业务逻辑会在这里开始,当需要操作DOM的时候执行,可以配合$nextTick 使用进行单一事件对数据的更新后更新DOM;

beforeUpdate:适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器;

updated:当数据更新需要做统一业务处理的时候使用;

beforeDestroy:主要解绑一些使用addEventListener监听的事件等;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/705271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

经营分析到底要做什么?

​做经营分析&#xff0c;不是只看数据这么简单&#xff0c;我们要从目标-分析-决策-预警&#xff0c;全流程实现。 基于数据中台底座&#xff0c;实现从制定战略目标到执行落地的数据应用闭环。主要从四个维度来做&#xff1a; 第一步&#xff0c;就是基于预算管理进行战略目…

Python中高效的爬虫框架,你用过几个?

在信息时代&#xff0c;数据是无价之宝。许多开发者和数据分析师需要从互联网上采集大量的数据&#xff0c;用于各种用途&#xff0c;如分析、建模、可视化等。Python作为一门强大的编程语言&#xff0c;提供了多种高效的爬虫框架&#xff0c;使数据采集变得更加容易和高效。本…

【Golang入门教程】Goland常用快捷键,看这一篇就够了 - 副本 (2)

开源软件的影响力 文章目录 开源软件的影响力 强烈推荐前言一、文件操作相关快捷键二、代码格式化相关的快捷键三、查找和定位相关的快捷键四、编辑代码相关的快捷键四、编辑器相关的快捷键总结强烈推荐专栏集锦写在最后 强烈推荐 前些天发现了一个巨牛的人工智能学习网站&…

python的内置函数有哪些

无极低码 &#xff1a;https://wheart.cn Python 解释器内置了很多函数和类型&#xff0c;任何时候都能使用。以下按字母顺序给出列表。 内置函数Aabs()aiter()all()anext()any()ascii()Bbin()bool()breakpoint()bytearray()bytes()Ccallable()chr()classmethod()compile()co…

力扣经典题目解析--搜索二维矩阵(小米一面)

原题地址: . - 力扣&#xff08;LeetCode&#xff09; 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非严格递增顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c…

数据隐私安全趋势

在当今社交媒体和开源开发的世界中&#xff0c;共享似乎已成为社会常态。毕竟&#xff0c;我们都被教导分享就是关怀。这不仅适用于个人&#xff0c;也适用于公司&#xff1a;无论是有意在社交媒体帐户和公司网站上&#xff0c;还是无意中通过员工的行为&#xff0c;公司可能会…

部署VUE+SpringBoot+nginx项目

本文是前端是vite element-plus 后端 springBoot 部署整个项目主要分为3个步骤&#xff0c; 1. 部署nginx&#xff0c;主要是配置nginx.conf 2.打包前端代码 3.打包后端代码 1.安装nginx 安装手顺&#xff1a; linux安装nginx_linux安装nginx需要gcc还是gcc-c-CSDN…

c++数字反转

题目描述 给定一个整数 N&#xff0c;请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式&#xff0c;即除非给定的原数为零&#xff0c;否则反转后得到的新数的最高位数字不应为零&#xff08;参见样例 2&#xff09;。 输入格式 一个整数 N。 输出格式 …

东南亚市场外贸注意事项

东南亚地区由多个国家组成&#xff0c;每个国家都有其独特的文化、经济和政治背景&#xff0c;因此在这个地区开展业务需要考虑到各种不同因素。此外&#xff0c;东南亚地区也是一个经济增长迅速、市场潜力巨大的区域&#xff0c;吸引了众多国际企业的关注。然而&#xff0c;与…

【牛客】SQL35 浙大不同难度题目的正确率

描述 题目&#xff1a;现在运营想要了解浙江大学的用户在不同难度题目下答题的正确率情况&#xff0c;请取出相应数据&#xff0c;并按照准确率升序输出。 示例&#xff1a; user_profile iddevice_idgenderageuniversitygpaactive_days_within_30question_cntanswer_cnt121…

学生个性化成长平台搭建随笔记

1.Vue的自定义指令 在 Vue.js 中&#xff0c;我们可以通过 Vue.directive() 方法来定义自定义指令。具体来说&#xff0c;我们需要传递两个参数&#xff1a; 指令名称&#xff1a;表示我们要定义的指令名称&#xff0c;可以是一个字符串值&#xff0c;例如&#xff1a;has-rol…

【MySQL】undo log、redo log、bin log三者之间的区分?

undo log、redo log、bin log三者之间的区分&#xff1f; 从 产生的时间点、日志内容、用途 三方面展开论述即可 1.undo log——撤销日志 时间点&#xff1a;事务开始之前产生&#xff0c;根据当前版本的数据生成一个undo log&#xff0c;也保存在事务开始之前 作用&#xf…

在Pycharm中运行Django项目如何指定运行的端口

方法步骤&#xff1a; 打开 PyCharm&#xff0c;选择你的 Django 项目。在菜单栏中&#xff0c;选择 “Run” -> “Edit Configurations...”。在打开的 “Run/Debug Configurations” 对话框中&#xff0c;选择你的 Django server 配置&#xff08;如果没有&#xff0c;你…

Mathematica学习笔记收纳

笔记 可以关注官方公众号 帮助文件 https://reference.wolfram.com/language/index.html.zh 南京大学的介绍 https://oi.nju.edu.cn/Mathematica/listm.htm

08 string类的使用

为什么要学习string类 c语言中的字符串 c语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;c标准库提供了一些str系列的函数&#xff0c;但是这些库函数与字符串是分离开的&#xff0c;不符合OOP的思想&#xff0c;而且底层空间需要自…

日本韩国媒体宣发稿渠道平台怎么找?跨境出海推广新闻报道营销公司告诉你

【本篇由言同数字科技有限公司原创】随着全球化和互联网的快速发展&#xff0c;品牌出海已经成为众多企业的共同目标。在这个过程中&#xff0c;通过在日本和韩国的媒体上发表文章&#xff0c;可以带来许多重要的意义和益处。在本文中&#xff0c;我们将探讨一下这些意义。 首…

MySQL学习Day21-索引的创建与设计原则

一、索引的声明与使用 1.索引的分类: 功能逻辑:普通索引、全文索引、单列索引、多列索引和空间索引 物理实现:聚簇索引和非聚簇索引 作用字段个数:单列索引和联合索引 (1)普通索引:在创建普通索引时&#xff0c;不附加任何限制条件&#xff0c;只是用于提高查询效率&#…

关于跨链桥的访谈链接合集

想了解跨链桥&#xff0c;知名人士的访谈也很重要&#xff0c;下面是相关知名人士的访谈合计 1&#xff1a;Andre Cronje 专访Andre Cronje&#xff1a;99% 的项目都是垃圾&#xff0c;但是还有 1% 的真正价值存在 https://www.panewslab.com/zh/articledetails/g52p2lpbudmm.…

在Android中使用ActiveMQ通信应用MQTT

1.MQTT简介: MQTT 是一种基于发布订阅模型的即时通讯协议,它被设计为一个极其轻量级的发布/订阅消息传输协议。对于需要较小代码占用空间和/或网络带宽非常宝贵的远程连接非常有用,是专为受限设备和低带宽、高延迟或不可靠的网络而设计,所以主要应用于物联网设备中。 2.MQTT…

Element复选框只要框不要字

场景 复选框分别放在多个选项后&#xff0c;只需要勾选框&#xff0c;不要展现的文字。 实现 <el-checkbox-group v-model"checkList"><el-checkbox label"使用核武器"></el-checkbox> </el-checkbox-group> ... data() {retu…