Vue框架面试题总结.pdf
《Vue框架面试题总结.pdf》由会员分享,可在线阅读,更多相关《Vue框架面试题总结.pdf(119页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Vue基 础 知 识 点 1.Vue特 性 轻 量 Vue.js库 的 体 积 非 常 小 的,并 且 不 依 赖 其 他 基 础 库。数 据 绑 定 对 于 一 些 富 交 互、状 态 机 类 似 的 前 端 UI界 面,数 据 绑 定 非 常 简 单、方 便。指 令 内 置 指 令 统 一 为(V*),也 可 以 自 定 义 指 令,通 过 对 应 表 达 值 的 变 化 就 可 以 修 改 对 应 的 DOM。插 件 化 Vue.js核 心 不 包 含 Router、AJAX、表 单 验 证 等 功 能,但 是 可 以 非 常 方 便 地 根 据 需 要 加 载 对 应 插 件。组 件
2、化 组 件 可 以 扩 展 HTML元 素,封 装 可 重 用 的 代 码。允 许 我 们 使 用 小 型、自 包 含 和 通 常 可 复 用 的 组 件 构 建 大 型 应 用 2.Vue项 目 结 构 介 绍 build文 件 夹:用 于 存 放 webpack相 关 配 置 和 脚 本。config文 件 夹:主 要 存 放 配 置 文 件,比 如 配 置 开 发 环 境 的 端 口 号、开 启 热 加 载 或 开 启 gzip压 缩 等.dist文 件 夹:默 认 命 令 打 包 生 成 的 静 态 资 源 文 件。node_modules:存 放 npm命 令 下 载 的 开 发 环
3、 境 和 生 产 环 境 的 依 赖 包。src:存 放 项 目 源 码 及 需 要 引 用 的 资 源 文 件。src下 assets:存 放 项 目 中 需 要 用 到 的 资 源 文 件,css、js、images等。srcTcom ponets:存 放 vue开 发 中 一 些 公 共 组 件。src下 e m it:自 己 配 置 的 vue集 中 式 事 件 管 理 机 制。src下 router:vue-router vue 路 由 的 配 置 文 件。,srcTservice:自 己 配 置 的 vue请 求 后 台 接 口 方 法。,src下 p a g e:存 在 vue页
4、 面 组 件 的 文 件 夹。src下 u t il:存 放 vue开 发 过 程 中 一 些 公 共 的 js方 法。src下 v u e x:存 放 vuex为 vue专 门 开 发 的 状 态 管 理 器。src下 叩 p.vu e:整 个 工 程 的 vue根 组 件。src下 m ain.js:工 程 的 入 口 文 件。index.htm l:设 置 项 目 的 一 些 meta头 信 息 和 提 供 html元 素 节 点,用 于 挂 载 vue。package.json:对 项 目 的 描 述 以 及 对 项 目 部 署 和 启 动、打 包 的 npm命 令 管 理.3.Vue
5、常 用 指 令 v-model多 用 于 表 单 元 素 实 现 双 向 数 据 绑 定(同 angular中 的 ng-model)v-for格 式:v-for=字 段 名 in(of)数 组 js o n 循 环 数 组 或 json(同 angular中 的 ng-repeat),需 要 注 意 从 vue2开 始 取 消 了$index v-show 显 示 内 容(同 angular中 的 ng-show)v-hide 隐 藏 内 容(同 angular中 的 ng-hide)v-i f显 示 与 隐 藏(dom元 素 的 删 除 添 加 同 angular中 的 ng-if默 认
6、值 为 false)v-else-if必 须 和 v-if连 用 v-else必 须 和 v-i唯 用 不 能 单 独 使 用 否 则 报 错 模 板 编 译 错 误 v-bind动 态 绑 定 作 用:及 时 对 页 面 的 数 据 进 行 更 改 v-on:click给 标 签 绑 定 函 数,可 以 缩 写 为,例 如 绑 定 一 个 点 击 函 数 函 数 必 须 写 在 methods里 面 v-te xt解 析 文 本 v-h tm l解 析 htrrd标 签 v-bind:class 三 种 绑 定 方 法 1、对 象 型 red:isred 2、三 元 型 isred?red:
7、blue 3、数 组 型 red:isred,blue:isblue v-once进 入 页 面 时 只 渲 染 一 次 不 在 进 行 渲 染 v-cloak防 止 闪 烁 v-p re把 标 签 内 部 的 元 素 原 位 输 出 4.Vue常 用 的 修 饰 符 a、按 健 修 饰 符 如:.delete(捕 获 删 除 和“退 格 键)用 法 上 和 事 件 修 饰 符 一 样,挂 载 在 v-on后 面,语 法:v-on:keyup.xxx=yyy b、系 统 修 饰 符 可 以 用 如 下 修 饰 符 来 实 现 仅 在 按 下 相 应 按 键 时 才 触 发 鼠 标 或 键 盘
8、事 件 的 监 听 器(1).ctrl(2).alt.shift(4).metaQ 鼠 标 按 钮 修 饰 符(1).left(2).right(3).middle这 些 修 饰 符 会 限 制 处 理 函 数 仅 响 应 特 定 的 鼠 标 按 钮。如:button click.middle=onClickA 鼠 标 滚 轮 单 击 触 发 Click默 认 是 鼠 标 左 键 单 击 d、其 他 修 饰 符(1).lazy在 默 认 情 况 下,v-model在 每 次 input事 件 触 发 后 将 输 入 框 的 值 与 数 据 进 行 同 步,我 们 可 以 添 加 lazy修 饰
9、 符,从 而 转 变 为 使 用 change事 件 进 行 同 步:(2).number如 果 想 自 动 将 用 户 的 输 入 值 转 为 数 值 类 型,可 以 给 v-model添 加.number修 饰 符:这 通 常 很 有 用,因 为 即 使 在 type=number”时,HTML输 入 元 素 的 值 也 总 会 返 回 字 符 串。如 果 这 个 值 无 法 被 parseFloatQ解 析,则 会 返 回 原 始 的 值。.trim如 果 要 自 动 过 滤 用 户 输 入 的 首 尾 空 白 字 符,可 以 给 v-model添 加 trim 修 饰 符:同 样 前
10、面 都 有 空 格 加 上.trim后 将 前 后 空 格 都 去 掉 了。5.条 件 渲 染 v-if:条 件 指 令 in p ut type=checkbox v-model=ok”同 意 许 可 协 议 if:Lorem ipsum dolor s it amet.nov-sh o w:条 件 指 令 使 用 v-show完 成 和 上 面 相 同 的 功 能 show:Lorem ipsum dolor s it amet.no v-if是“真 正”的 条 件 渲 染,因 为 它 会 确 保 在 切 换 过 程 中 条 件 块 内 的 事 件 监 听 器 和 子 组 件 适 当 地
11、被 销 毁 和 重 建。V-if也 是 惰 性 的:如 果 在 初 始 渲 染 时 条 件 为 假,则 什 么 也 不 做 一 一 直 到 条 件 第 一 次 变 为 真 时,才 会 开 始 渲 染 条 件 块。相 比 之 下,v-show就 简 单 得 多 一 一 不 管 初 始 条 件 是 什 么,元 素 总 是 会 被 渲 染,并 且 只 是 简 单 地 基 于 CSS进 行 切 换。一 般 来 说,v-if有 更 高 的 切 换 开 销,而 v-show有 更 高 的 初 始 渲 染 开 销。因 此,如 果 需 要 非 常 频 繁 地 切 换,则 使 用 v-show较 好;如 果 在
12、 运 行 时 条 件 很 少 改 变,则 使 用 v-if较 好。6.列 表 渲 染 v-fo r:列 表 循 环 指 令 简 单 的 列 表 渲 染 n!如 果 想 获 取 索 引,则 使 用 index关 键 字,注 意,圆 括 号 中 的 index必 须 放 在 后 面 一,n-index 遍 历 数 据 列 表 data:u s e rL is t:id:1,username:h e le n,age:18),id:2,username:*p e te r*,age:28),id:3,username:*andy*,age:38)2、遍 历 数 据 列 表 一!-1ndex ite
13、m.id 1tem.usernam e ite m.a g e 7.组 件 组 件(Component)是 Vue.js最 强 大 的 功 能 之 一。组 件 可 以 扩 展 HTML元 素,封 装 可 重 用 的 代 码。组 件 系 统 让 我 们 可 以 用 独 立 可 复 用 的 小 组 件 来 构 建 大 型 应 用,几 乎 任 意 类 型 的 应 用 的 界 面 都 可 以 抽 象 为 一 个 组 件 树:(1)局 部 组 件 var app=new Vue(e l:*#app*,/定 义 局 部 组 件,这 里 可 以 定 义 多 个 局 部 组 件 components:/组 件
14、 的 名 字*Navbarf:/组 件 的 内 容 tem plate:首 页 学 员 管 理)使 用 组 件(2)全 局 组 件 定 义 全 局 组 件:components/Navbar.js/定 义 全 局 组 件 Vponent(*Navbar,tem plate:首 页 学 员 管 理 讲 师 管 理)var app=new Vue(e l:#app)Vue核 心 知 识 点 1.对 于 Vue是 一 套 渐 进 式 框 架 的 理 解 渐 进 式 代 表 的 含 义 是:没 有 多 做 职 责 之 外 的 事,vue.js只 提 供 了 vue-di生 态 中 最 核 心 的 组
15、件 系 统 和 双 向 数 据 绑 定,就 好 像 vuex、vue-router都 属 于 围 绕 vue.js开 发 的 库。示 例:使 用 Angular,必 须 接 受 以 下 东 西:1)必 须 使 用 它 的 模 块 机 制。2)必 须 使 用 它 的 依 赖 注 入。3)必 须 使 用 它 的 特 殊 形 式 定 义 组 件(这 一 点 每 个 视 图 框 架 都 有,这 是 难 以 避 免 的)所 以 Angular是 带 有 比 较 强 的 排 它 性 的,如 果 你 的 应 用 不 是 从 头 开 始,而 是 要 不 断 考 虑 是 否 跟 其 他 东 西 集 成,这 些
16、主 张 会 带 来 一 些 困 扰。使 用 R eact,你 必 须 理 解:1)函 数 式 编 程 的 理 念。2)需 要 知 道 它 的 副 作 用.3)什 么 是 纯 函 数。4)如 何 隔 离、避 免 副 作 用。5)它 的 侵 入 性 看 似 没 有 Angular那 么 强,主 要 因 为 它 是 属 于 软 性 侵 入 的。Vue与 React、Angular的 不 同 是,但 它 是 渐 进 的:1)可 以 在 原 有 的 大 系 统 的 上 面,把 一 两 个 组 件 改 用 它 实 现,就 是 当 成 jQuery来 使 用。2)可 以 整 个 用 它 全 家 桶 开 发,
17、当 Angular来 使 用。3)可 以 用 它 的 视 图,搭 配 你 自 己 设 计 的 整 个 下 层 使 用.4)可 以 在 底 层 数 据 逻 辑 的 地 方 用 0。和 设 计 模 式 的 那 套 理 念。5)可 以 函 数 式,它 只 是 个 轻 量 视 图 而 已,只 做 了 最 核 心 的 东 西。2.vue.js的 两 个 核 心 是 什 么?数 据 驱 动 和 组 件 系 统:数 据 驱 动:ViewModel,保 证 数 据 和 视 图 的 一 致 性。组 件 系 统:应 用 类 UI可 以 看 作 全 部 是 由 组 件 树 构 成 的。3.请 问 v-i f 和 v
18、-show有 什 么 区 别 相 同 点:两 者 都 是 在 判 断 DOM节 点 是 否 要 显 示。不 同 点:(1)实 现 方 式:v-if是 根 据 后 面 数 据 的 真 假 值 判 断 直 接 从 Dom树 上 删 除 或 重 建 元 素 节 点。v-show只 是 在 修 改 元 素 的 css样 式,也 就 是 display的 属 性 值,元 素 始 终 在 Dom树 上.(2)编 译 过 程:v-if切 换 有 一 个 局 部 编 译/卸 载 的 过 程,切 换 过 程 中 合 适 地 销 毁 和 重 建 内 部 的 事 件 监 听 和 子 组 件;v-show只 是 简
19、单 的 基 于 cs沏 换;(3)编 译 条 件:v-if是 惰 性 的,如 果 初 始 条 件 为 假,则 什 么 也 不 做;只 有 在 条 件 第 一 次 变 为 真 时 才 开 始 局 部 编 译;v-show是 在 任 何 条 件 下(首 次 条 件 是 否 为 真)都 被 编 译,然 后 被 缓 存,而 且 DOM元 素 始 终 被 保 留;(4)性 能 消 耗:v-i隋 更 高 的 切 换 消 耗,不 适 合 做 频 繁 的 切 换;v-show有 更 高 的 初 始 渲 染 消 耗,适 合 做 频 繁 的 额 切 换;4.v-for与 v-if的 优 先 级 当 它 们 处 于
20、 同 一 节 点,v-for的 优 先 级 比 v-i度 高,这 意 味 着 v-if将 分 别 重 复 运 行 于 每 个 v-for循 环 中。当 你 想 为 仅 有 的 一 些 项 渲 染 节 点 时,这 种 优 先 级 的 机 制 会 十 分 有 用,如 下:todo)上 面 的 代 码 只 传 递 了 未 完 成 的 todoso而 如 果 你 的 目 的 是 有 条 件 地 跳 过 循 环 的 执 行,那 么 可 以 将 v-if置 于 外 层 元 素(或 template)上。如:todo No todos l e f t!5.v on可 以 监 听 多 个 方 法 吗?v-on
21、可 以 监 听 多 个 方 法 点 我 text鼠 标 进 来/button 鼠 标 进 来 2v/button!个 事 件 绑 定 多 个 函 数,按 顺 序 执 行,这 里 分 隔 函 数 可 以 用 逗 号 也 可 以 用 分 号 一 点 我 abonetwothree 1 nput type=nte x t placeholder=在 这 里 按 d elete”button ty p e=s u b m i点 我 提 交/button export d e fa u lt methods:/这 里 是 es6对 象 里 函 数 写 法 aO console.lo g(a);),b()
22、console.lo g(b);,one()console.logCone);this.tw oO;th is.three();,two()console.lo g(,twon);),three()console.log(th re e);,myclickfmsgl,msg2,msg3,event)console.log(msgl+msg2+-+msg3);console.1og(event);,onKeyupO console.log(*you press delete*);,onSubmitO console.log(sumite d);,onEnterf)console.log(mous
23、e e n te r);,onLeaveO console.log(mouse le ave);),);6.vue中 k e y值 的 作 用 使 用 key来 给 每 个 节 点 做 一 个 唯 一 标 识 key的 作 用 主 要 是 为 了 高 效 的 更 新 虚 拟 DOM。另 外 vue中 在 使 用 相 同 标 签 名 元 素 的 过 渡 切 换 时,也 会 使 用 到 key属 性,其 目 的 也 是 为 了 让 vue可 以 区 分 它 们,否 则 vue只 会 替 换 其 内 部 属 性 而 不 会 触 发 过 渡 效 果。7.vue-cli工 程 升 级 vue版 本 np
24、m install-g vue/di8.vue事 件 中 如 何 使 用 event对 象?注 意 在 事 件 中 要 使 用$符 号/h tm l部 分 event/j s 部 分 showEvent(event)/获 取 自 定 义 data-i dconsole.log(event.ta rg e t.d ataset.id)/阻 止 事 件 冒 泡 event.stopP ropagation();/阻 止 默 认 event.preventD efault()9.$nextTick的 使 用 参 数:Function callback用 法:将 回 调 延 迟 到 下 次 DOM更
25、新 循 环 之 后 执 行。在 修 改 数 据 之 后 立 即 使 用 它,然 后 等 待 DOM更 新。它 跟 全 局 方 法 Vue.nextTick 一 样,不 同 的 是 回 调 的 th is自 动 绑 定 到 调 用 它 的 实 例 上。实 例:msg$nextTi ckexport d e fa u lt name:*n e x tT ic k,data()return m s g:未 更 新),methods:changef)/修 改 数 据 t h is.msg=被 更 新 了/D O M 还 没 有 更 新 console.lo g C th is.$refs.m sgp.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Vue 框架 试题 总结
限制150内