vue常用面试题

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化

Vuex有五个核心概念:

state、getters、mutations、actions、modules。

1、state:vuex的基本数据,用来存储变量

2、geeter:从基本数据(state)派生的数据,相当于state的计算属性

3、mutation:提交更新数据的方法,必须是同步的(如果需要异步使用action)。每个mutation都有一个字符串的事件类型(type)和一个回调函数(handler)。

回调函数就是我们实际进行状态更改的地方,并且它会接受state作为第一个参数,提交载荷作为第二个参数。

4、action:和mutation的功能大致相同,不同之处在于==》1.Action提交的是mutation,而不是直接变更状态。2.Action可以包含任意异步操作。

5、modules:模块化vuex,可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。

vuex数据持久化vuex结合localStorage实现状态持久化

vuex-persistedstate 使用浏览器的本地存储( local storage )对状态( state )进行持久化。这意味着刷新页面或关闭标签页都不会删除你的数据。

如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。如果您需要构建一个中大型单页应用,您很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择

vue-router

“vue-router通过hash与History interface两种方式实现前端路由,更新视图但不重新请求页面,是前端路由原理的核心之一,是目前在浏览器环境中这一功能的实现主要的两种方式。”

每个钩子方法接收三个参数:

  • to: Route: 即将要进入的目标 路由对象
  • from: Route: 当前导航正要离开的路由
  • next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。

导航守卫

全局守卫

  1. router.beforeEach((to,from,next)=>{})

  2. 回调函数中的参数,to:进入到哪个路由去,from:从哪个路由离开,next:函数,决定是否展示你要看到的路由页面。

    全局后置钩子router.afterEach((to,from)=>{})
  • 只有两个参数,to:进入到哪个路由去,from:从哪个路由离开。

组件内的守卫

  1. 到达这个组件时,beforeRouteEnter:(to,from,next)=>{}

2.离开这个组件时,beforeRouteLeave:(to,from,next)=>{}

路由独享的守卫

  1. beforeEnter:(to,from,next)=>{},用法与全局守卫一致。只是,将其写进其中一个路由对象中,只在这个路由下起作用。

**一共*8*个阶段

Vue生命周期函数 也叫Vue生命周期钩子,就是Vue实例在某一时间点自动执行的函数。

1、beforeCreate(创建前)

2、created(创建后)

3、beforeMount(载入前)

4、mounted(载入后)

5、beforeUpdate(更新前)

6、updated(更新后)

7、beforeDestroy(销毁前)

8、destroyed(销毁后)

activated :组件激活时调用。该钩子在服务器端渲染期间不被调用。

deactivated : 组件停用时调用。该钩子在服务器端渲染期间不被调用。

errorCaptured : 当捕获一个来自子孙组件的错误时被调用。此钩子会收到三个参数:错误对象、发生错误的组件实例以及一个包含错误来源信息的字符串。此钩子可以返回 false 以阻止该错误继续向上传播。

我平时用的比较多的钩了是created和mounted,created用于获取后台数据,mounted用于dom挂载完后做一些dom操作,以及初始化插件等.beforeDestroy用户清除定时器以及解绑事件等,

vue第一次页面加载会触发哪几个钩子函数?

beforeCreate、created、beforeMount、mounted

DOM 渲染在哪个周期中就已经完成?

mounted

Vue有著名的全家桶系列,包含了vue-router,vuex, vue-resource。再加上构建工具vue-cli,sass样式,就是一个完整的vue项目的核心构成。

概括起来就是:

1、项目构建工具

2、路由

3、状态管理

4、http请求工具。

Vue两大核心思想:组件化和数据驱动。组件化:把整体拆分为各个可以复用的个体,数据驱动:通过数据变化直接影响bom展示,避免dom操作。

axios

Axios,基于 Promise 的 HTTP 客户端,可以工作于浏览器中,也可以在 node.js 中使用。

axios是xhr的封装,支持promise操作的请求库,并且提供了一系列方便的api接口。

功能:

  • 从浏览器中创建 XMLHttpRequest
  • 从 node.js 中创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求和响应数据
  • 取消请求
  • 自动转换 JSON 数据
  • 客户端支持防止 XSRF 攻击

async用于声明一个函数是异步的,await用于声明在一个异步函数中等待语句执行完毕。也就是说await只能在async函数中使用

axios请求及响应拦截

request拦截器(请求发送后端之前)

response拦截器(数据返回后,具体页面加载之前)

node.js

“Nodejs是一个基于Chrome V8引擎的JavaScript运行环境,一个让JavaScript运行在服务端的开发平台;它用于方便地搭建响应速度快、易于扩展的网络应用。”

“nodejs的用处:1、它使JavaScript可以运行在服务端。2、Node对一些特殊用例进行优化,提供替代的API。3、可以使用它来开发一些快速移动Web框架。”

ES6 数据结构

set

Set ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 用法:new Set([iterable]) {代码…} Set结构有以下属性: Set.prototype.constructor: 构造函数,默认就是Set函数。 set.prototype.size : 返回Set的成员总数。

Set结构有以下属性:

Set.prototype.constructor: 构造函数,默认就是Set函数。

set.prototype.size : 返回Set的成员总数。

Set结构有以下方法:

add(value):添加某个值,返回 Set 结构本身。

delete(value):删除某个值,返回一个布尔值,表示删除是否成功。

has(value):返回一个布尔值,表示该值是否为Set的成员。

clear():清除所有成员,没有返回值。

Map

JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键。ES6中的Map结构也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。

用法:new Map([iterable])

属性和方法

size:返回成员总数。

set(key, value):添加键值对到映射中

get(key):获取映射中某一个键的对应值

delete(key):将某一键值对移除出映射中

clear():清空映射中所有的键值对

entries():返回一个以二元数组(键值对)作为元素的数组

has(key):检查映射中是否包含某一键值对

keys():返回一个一当前映射中所有键作为元素的可迭代对象

values():返回一个一当前映射中所有值作为元素的可迭代对象

深入解析ES6中的三种异步解决方式

方式一: Generator + Promise + 执行器

方式二:Generator + Thunk函数 + 执行器

方式三:基于 async 函数 和 await 的异步处理方式

Symbol的诞生,也就是Symbol存在的意义

1、唯一性:它是Javascript的第七种数据类型,表示它是唯一的。
2、数据类型的修饰
3、与其他数据类型之间的转换

Symbol不能用四则运算进行操作,否则报错。它只能用显示的方式转为字符串和布尔值

4、作为对象的属性

5、Symbol.for()Symbol.keyFor()

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

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

相关文章

网络安全防护部署,升级支持IPv6

场景描述 关键信息基础设施支持IPv6已经上升到国家战略,公共云基础设施为云上客户系统支持IPv6提供了完整的解决方案及产品。本最佳实践是在现有WAF和高防IP作为网络安全架构基础上,如何升级支持IPv6,同时满足云上和线下IDC需求,…

500道Java 必备面试题答案(过后即删)

每个技术人都有个大厂梦,我觉得这很正常,并不是饭后的谈资而是每个技术人的追求。像阿里、腾讯、美团、字节跳动、京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司/小公司,如果说能够在这样的公司锻炼几年,相信对自己…

简单七步,快速入门 JMeter原生压测

导入本地的 JMeter 原生脚本,即可快速发起一次压测。 前提条件 JMeter 脚本需要在本地调试成功。请同时上传依赖的 CSV 或者 JAR 文件。CSV 文件的 File Name 只需要文件名,不要带路径,因为上传之后和 JMX 脚本在同目录下。 限制条件 最大…

动态修改网页icon图标

动态修改网页icon图标 //如果在vue项目中 在App.vue下的 created() 中输入 var link document.querySelector("link[rel*icon]") || document.createElement("link"); link.type "image/x-icon"; link.rel "shortcut icon"; link…

创建VPC前,网络规划的4个问题你弄清了吗?

在创建VPC和交换机前,您需要结合具体的业务规划VPC和交换机的数量及网段等。 应该使用几个VPC?应该使用几个交换机?应该选择什么网段?VPC与VPC互通或VPC与本地数据中心互通有什么要求? 应该使用几个VPC? …

mybatis自动生成代码只有insert()和insertSelective()

在jdbc url后增加nullCatalogMeansCurrenttrue即可(但此时不会生成withBLOBs类) 案例 jdbc:mysql://127.0.0.1:3306/dianpingdb?nullCatalogMeansCurrenttrue" userId"root" password"123456"

移动云2020 H1营收44.57亿元,同比增长556.4%

近日,中国移动《2020年中期业绩报告》发布,中国移动盈利能力继续保持全球一流运营商的领先水平,中国移动H1营运收入3899亿元人民币,同比增长0.1%;净利润558亿元人民币,同比下降0.5%;其中&#x…

动态修改网页title

动态修改网页title //如果在vue项目中 在App.vue下的 created() 中输入 document.title this.$store.state.user.name; //获取存储在本地中的title并赋值 //或者直接写入 let title 网页title; document.title title

中小型互联网企业迁移上云,保证云端资源安全迁移

场景描述 本方案主要适用于中小型互联网企业,从他云迁移到阿里云的最佳实践。方案中会概述网络规划、服务器、数据库、存储数据、 Kafka和镜像数据的迁移方案描述。同时在实践环节,增加服务器和RDS的迁移操作演练和验证。 解决问题 提供服务器、数据库…

Thymeleaf Error resolving template [index],template might not exist or might not be accessible

文章目录1. 导入依赖2. 配置2. 视图层3. 创建页面4. 检查target5. 表达式使用Thymeleaf 一共5步&#xff0c;检查一下看看是否符合规范 1. 导入依赖 <!--模板引擎--><dependency><groupId>org.springframework.boot</groupId><artifactId>sprin…

什么?一个核同时执行两个线程?

作者 | 轩辕之风来源 | 编程技术宇宙头图 | CSDN付费下载自视觉中国CPU里的时间Hi&#xff0c;好久不见&#xff0c;我是CPU一号车间的阿Q&#xff0c;不认识我的话&#xff0c;可以看看&#xff1a;完了&#xff01;CPU一味求快出事儿了&#xff01;真的是好久不见了&#xff…

HBase 搭建过程中常见问题

文章目录 进程问题HQuorumPeer 和 QuorumPeerMain 区别HRegionServerHMaster 自动关闭 启动顺序停止顺序无法关闭一直等待运行报错日志中报错问题无法调用方法启动 HBase 无法找到 Hadoop 本机库 进程问题 HQuorumPeer 和 QuorumPeerMain 区别 HQuorumPeer 进程是一个 ZooKee…

海纳威上云 构建数字化透明工厂

“海纳威通过阿里巴巴的宜搭平台&#xff0c;开发了生产计划分配、计时计件、考勤与工资计算系统。宜搭的这种模式&#xff0c;可以按照我们自己的想法来设计软件&#xff0c;贴合现场业务来开发和调整&#xff0c;满足了管理诉求。效率很高&#xff0c;成本可控&#xff0c;和…

通用网站备案常见的备案场景及要求

当网站托管于中国大陆境内的服务器上时&#xff0c;网站需申请ICP备案。本文为您介绍常见网站的备案场景及备案要求。 通用网站备案 此种场景下&#xff1a; 托管于大陆境内服务器的网站需备案&#xff0c;托管于中国大陆境外服务器的网站无需备案。网站备案将会审核网站的三…

如何利用DTS数据同步功能,快速创建数据同步作业

数据传输服务DTS&#xff08;Data Transmission Service&#xff09;提供的数据同步功能简单易用&#xff0c;您只需在控制台上进行简单操作&#xff0c;即可完成整个数据同步作业的配置。 注意事项 本文仅简单介绍数据同步作业的通用配置流程&#xff0c;不同的数据源在配置…

震惊!程序员要放弃 Python 了!?发生了啥?

听说 Python 很难学&#xff1f;难在哪里&#xff1f;听说学完不知道做什么&#xff1f;为什么&#xff1f;Python 该怎么学&#xff1f;好不好学&#xff1f;学完做什么&#xff1f;许多人都会遇到了下面这些问题——1. 没经验根本不知道从何学起&#xff0c;而且应用方向太多…

设置网页文字禁止复制

设置网页文字禁止复制 *{-moz-user-select: none; /*火狐*/-webkit-user-select: none; /*webkit浏览器*/-ms-user-select: none; /*IE10*/-khtml-user-select: none; /*早期浏览器*/-o-user-select:none;user-select: none; }直接设置css样式禁止文字选中就可以了。

如何快速完成企业应用IPv6改造

场景描述 对于IPv4-only的云服务器&#xff0c;通过DNS域名解析IPv6转换服务&#xff0c;快速支持对外提供IPv6访问能力。对于双栈云服务器&#xff0c;构建应用环境。 解决问题 改造技术复杂度高改造任务时间紧改造所需人力和设备成本较高 产品列表 虚拟专用网VPC弹性计算E…

上云七步走,助力垂直电商降本增效

甩开技术包袱&#xff0c;做出业务特色&#xff0c;越发成为垂直电商的生存之道 今天&#xff0c;人们通过天猫、淘宝、苏宁进行网络购物&#xff0c;不仅方便&#xff0c;而且快乐&#xff0c;通过盒马、饿了么享受更加快捷的本地生活服务&#xff0c;与此同时&#xff0c;家电…

3.3亿人都在用小程序,中国首次定义的互联网标准又有新进展

2020年&#xff0c;你的一天可能是这样度过。早晨&#xff0c;用天气小程序&#xff0c;看看立秋后天气是否降温&#xff1b;中午&#xff0c;用外卖小程序&#xff0c;点一份你最爱的水煮鱼&#xff1b;下午&#xff0c;用咖啡小程序&#xff0c;买一份4.8折的美式咖啡&#x…