| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 风尚云网-vue相关综合面试题(不看后悔)持续更新... -> 正文阅读 |
|
[JavaScript知识库]风尚云网-vue相关综合面试题(不看后悔)持续更新... |
目录 三:说一下vue中computed 和 watch 区别和运用的场景? 八:为什么vue组件中的 data 必须是一个函数,然后 return 一个对象,而 new Vue 实例里,data 可以直接是一个对象?
vue 的优点:轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快。 vue的缺点:首次加载稍慢 不利于 SEO 双向绑定的反应复杂性
SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。 优点:1.用户体验好、快,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染; 2.基于上面一点,SPA 相对对服务器压力小; 3.前后端职责分离,架构清晰,前端进行交互逻辑,后端负责数据处理; 缺点:1.初次加载耗时多:为实现单页 Web 应用功能及显示效果,需要在加载页面的时候将 JavaScript、CSS 统一加载,部分页面按需加载; 2.前进后退路由管理:由于单页应用在一个页面中显示所有的内容,所以不能使用浏览器的前进后退功能,所有的页面切换需要自己建立堆栈管理; 3.SEO 难度较大:由于所有的内容都在一个页面中动态替换显示,所以在 SEO 上其有着天然的弱势。
区别:computed: 是计算属性,依赖其它属性值,并且 computed 的值有缓存,只有它依赖的属性值发生改变,下一次获取 computed 的值时才会重新计算 computed 的值; watch: 更多的是「观察」的作用,类似于某些数据的监听回调 ,每当监听的数据变化时都会执行回调进行后续操作; 运用场景:1.当我们需要进行数值计算,并且依赖于其它数据时,应该使用 computed,因为可以利用 computed 的缓存特性,避免每次获取值时,都要重新计算; computed 使用场景:当一个值受多个属性影响的时候------------购物车商品结算 2.当我们需要在数据变化时执行异步或开销较大的操作时,应该使用 watch,使用 watch 选项允许我们执行异步操作 ( 访问一个 API ),限制我们执行该操作的频率,并在我们得到最终结果前,设置中间状态。这些都是计算属性无法做到的。 watch使用场景:当一条数据的更改影响到多条数据的时候---------搜索框 小结:当我们要进行数值计算,而且依赖于其他数据,那么把这个数据设计为computed
(1)生命周期是什么? Vue 实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模版、挂载 Dom -> 渲染、更新 -> 渲染、卸载等一系列过程,我们称这是 Vue 的生命周期。 (2)各个生命周期的作用
可以在钩子函数 created、beforeMount、mounted 中进行调用 因为在这三个钩子函数中,data 已经创建,可以将服务端端返回的数据进行赋值。 但是推荐在 created 钩子函数中调用异步请求,因为在 created 钩子函数中调用异步请求有以下优点:
在钩子函数 mounted 被调用前,Vue 已经将编译好的模板挂载到页面上, 所以在 mounted 中可以访问操作 DOM。
keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,避免重新渲染 。 **一般结合路由和动态组件一起使用,用于缓存组件; **提供 include 和 exclude 属性,两者都支持字符串或正则表达式, include 表示只有名称匹配的组件会被缓存,exclude 表示任何名称匹配的组件都不会被缓存 ,其中 exclude 的优先级比 include 高; **对应两个钩子函数 activated 和 deactivated? ?当组件被激活时,触发钩子函数 activated,当组件被移除时,触发钩子函数 deactivated。
vue组件中data值不能为对象,因为对象是引用类型,组件可能会被多个实例同时引用。
因为组件是用来复用的,且 JS 里对象是引用关系, 如果组件中 data 是一个对象,那么这样作用域没有隔离,子组件中的 data 属性值会相互影响, 如果组件中 data 选项是一个函数,那么每个实例可以维护一份被返回对象的独立的拷贝,组件实例之间的 data 属性值不会互相影响; 而 new Vue 的实例,是不会被复用的,因此不存在引用对象的问题。
它的生命周期中有多个事件钩子,让我们在控制整个vue实例的过程时更容易形成好的逻辑。
它可以总共分为8个阶段:创建前/后,载入前/后,更新前/后,销毁前/销毁后 十一:第一次页面加载会触发那几个钩子?第一次页面加载时会触发beforeCreate,created,beforeMount,mounted 十二:DOM渲染在哪个周期中就已经完成?DOM渲染在mounted中就已经完成了 十三:生命周期钩子的一些使用方法?
相同点:v-if与v-show都可以动态控制dom元素显示隐藏 不同点: (1)手段不同:v-if是动态的向DOM树内添加或者删除DOM元素; ? ? ? ? ? ? ? ? ? ?v-show是通过设置DOM元素的display样式属性控制显隐; (2)编译过程不同:v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;v-show只是简单的基于css切换; (3)编译条件不同:v-if是惰性的,如果初始条件为假,则什么也不做;只有在条件第一次变为真时才开始局部编译(编译被缓存?编译被缓存后,然后再切换的时候进行局部卸载);?v-show是在任何条件下(首次条件是否为真)都被编译,然后被缓存,而且DOM元素保留; (4)性能消耗不同:v-if有更高的切换消耗;v-show有更高的初始渲染消耗; (5)使用场景不同:v-if适合项目中条件不大可能改变;v-show适合频繁切换。
十六:vue中路由跳转方式?1.router-link标签跳转 十七:vue组件的scoped属性的作用?在style标签上添加scoped属性,以表示它的样式作用于当下的模块,很好的实现了样式私有化的目的 ?十八:vue.js的两个核心是什么?(数据驱动、组件系统)数据驱动:Object.defineProperty和存储器属性: getter和setter(所以只兼容IE9及以上版本),可称为基于依赖收集的观测机制,核心是VM,即ViewModel,保证数据和视图的一致性。
十九:vue事件中如何使用event对象?
?二十:vue中子组件调用父组件的方法?第一种方法是直接在子组件中通过this.$parent.event来调用父组件的方法 二十一:vue 首屏加载优化??
二十二:Vuex 有哪几种属性?
二十三:为什么需要 nextTick?
二十四:route 和 router 的区别是什么?
二十五:vuex是什么?怎么使用?哪种功能场景使用它?是什么:vue框架中状态管理:有五种,分别是 State、 Getter、Mutation 、Action、 Module
二十六:vue-router 有哪些钩子函数?
二十七:组件中写 name 选项有什么作用?
二十八:Vue 组件间通信有哪些方式?
?二十九:Vue 中 key 值的作用?
?三十:虚拟 DOM 实现原理?
三十一:vue-cli 替我们做了哪些工作??vue-cli 它是基于 Vue.js 进行快速开发的完整系统, 也可以理解成是很多 npm 包的集合。其次,vue-cli 完成的功能有:
如果开发者需要补充或修改默认设置,需要在 package.json 同级下新建一个 vue.config.js 文件 .....................................? ?未完待续,风尚云网持续更新.....?今天风尚云网就分享这么多,关于Vue的面试题,你学会了多少? 欢迎在留言区评论,对于有价值的留言, 我会一一回复的。 如果觉得文章对你有一丢丢帮助,请点个赞~ |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:46:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |