Vue常见面试题

一,v-if和v-show的区别
v-if会频繁的创建(重建),删除元素(销毁),初始切换条件为假,则什么也不做知道条件为真
v-show只是css的显示和隐藏,初始条件不管是真是假都会渲染
频繁切换用v-show好,条件不怎么变用v-if好
二,css在vue中如何避免类名相同导致样式重复的问题
在style标签中加上scoped属性

三,sass和stylus样式穿透(两者都css预处理器)
sass下载npm install sass-loader,node-sass --save
stylus下载npm install stylus stylus-loader --save
指加上scoped避免了全局污染,可要修改的样式不变,必须加上: 父元素属性/deep/子元素属性
列如:div/deep/span
四,v-model配合input,select,文本中的value使用,实现双向绑定
五,onclick在移动端游300毫秒的延迟,可以下载fastclick
下载npm install fastclick
在main.js中引入
用fastclick.attach(document.body)方法可以解决
六。vue-loader是做什么的
是.vue的加载器,没有浏览器不认识.vue
用途:让js可以写es6,template,sass等
七。NextTick是做什么的
实在下次dom更新后结束后执行延迟回调,在修改数据后使用 n e x t T i c k 则 可 以 获 取 更 新 的 d o m 场 景 : 需 要 在 视 图 更 新 后 , 基 于 新 的 视 图 进 行 操 作 八 。 脚 手 架 的 d a t a 为 甚 么 必 须 是 函 数 因 为 j s 的 特 性 , 如 果 d a t a 是 一 个 对 象 , 那 么 所 有 的 实 例 如 果 修 改 其 中 一 个 属 性 , 则 会 影 响 所 有 v u e 实 例 的 数 据 , 如 果 定 义 为 函 数 每 个 属 性 都 是 独 立 的 则 互 不 影 响 九 。 对 k e e p − a l i v e 的 了 解 1. k e e p − a l i v e 是 内 置 组 件 , 能 在 组 件 切 换 中 保 存 状 态 , 防 止 重 复 渲 染 d o m 2. k e e p − a l i v e 不 会 再 d o m 中 渲 染 列 如 : 点 击 按 钮 跳 转 到 新 页 面 , 返 回 又 重 新 渲 染 , 加 上 k e e p − a l i v e 就 可 以 避 免 3. k e e p − a l i v e 生 命 周 期 a c t i v a t e d 可 以 在 这 里 写 条 件 d e a c t i v a t e d 十 。 v u e 种 k e y 的 作 用 主 要 是 为 了 高 效 的 更 新 虚 拟 d o m d i f f 算 法 默 认 算 法 ( 虚 拟 d o m , 不 加 k e y ) 1 。 如 果 节 点 类 型 不 同 , 直 接 干 点 前 面 所 有 节 点 , 在 创 建 并 插 入 新 的 节 点 , 不 会 再 比 较 这 个 节 点 以 后 的 子 节 点 。 2. 如 果 节 点 类 型 相 同 , 则 会 重 新 设 置 节 点 的 属 性 , 从 而 实 现 节 点 的 更 新 举 例 : A B C D E , 往 B C 之 间 插 入 F , A B 不 变 , C 变 成 F , D 变 成 C , E 变 成 D 使 用 k e y 给 每 个 节 点 做 一 个 唯 一 标 识 , d i f f 算 法 可 以 正 确 识 别 位 置 , 不 会 更 改 其 他 元 素 举 例 : A B C D E , 往 B C 之 间 插 入 F , 就 只 是 插 入 十 一 。 在 v u e 中 使 用 插 件 的 步 骤 1. 下 载 n p m i n s t a l l x x 2. 引 入 i m p o r t x x f r o m ‘ x x ’ 3. 配 置 < x x > < / x x > 十 二 。 w a t c h 和 c o m p u t e d 的 差 异 c o m p u t e d 1. 是 一 个 计 算 属 性 是 由 d a t a 中 的 已 知 值 , 得 到 一 个 新 值 2. 别 人 变 化 影 响 自 身 。 3. 性 能 不 好 w a t c h 是 数 据 监 听 时 执 行 相 应 的 操 作 , 执 行 方 法 等 监 听 d a t a 中 的 数 据 监 听 路 由 十 三 。 v u e 项 目 打 包 了 一 个 j s , c s s 还 是 多 个 都 是 一 个 十 四 。 v u e 组 件 之 间 的 传 值 1. 父 组 件 传 值 到 子 组 件 父 组 件 在 子 组 件 上 自 定 义 属 性 和 自 身 数 据 连 接 起 来 子 组 件 通 过 p r o p s : 父 组 件 在 子 组 件 的 自 定 义 属 性 拿 到 数 据 2. 子 组 件 传 值 到 父 组 件 子 组 件 通 过 / / 第 一 个 参 数 为 给 父 组 件 自 定 义 事 件 , 第 二 个 参 数 为 子 组 件 的 值 t h i s . nextTick则可以获取更新的dom 场景:需要在视图更新后,基于新的视图进行操作 八。脚手架的data为甚么必须是函数 因为js的特性,如果data是一个对象,那么所有的实例如果修改其中一个属性,则会影响所有vue实例的数据,如果定义为函数每个属性都是独立的则互不影响 九。对keep-alive的了解 1.keep-alive是内置组件,能在组件切换中保存状态,防止重复渲染dom 2.keep-alive不会再dom中渲染 列如:点击按钮跳转到新页面,返回又重新渲染,加上keep-alive就可以避免 3.keep-alive生命周期 activated 可以在这里写条件 deactivated 十。vue种key的作用 主要是为了高效的更新虚拟dom diff算法默认算法(虚拟dom,不加key) 1。如果节点类型不同,直接干点前面所有节点,在创建并插入新的节点,不会再比较这个节点以后的子节点。 2.如果节点类型相同,则会重新设置节点的属性,从而实现节点的更新 举例:A B C D E,往B C之间插入F,AB不变,C变成F,D变成C,E变成D 使用key给每个节点做一个唯一标识,diff算法可以正确识别位置,不会更改其他元素 举例:A B C D E,往B C之间插入F,就只是插入 十一。在vue中使用插件的步骤 1.下载 npm install xx 2.引入 import xx from ‘xx’ 3.配置 <xx></xx> 十二。watch和computed的差异 computed 1.是一个计算属性是由data中的已知值,得到一个新值 2.别人变化影响自身。 3.性能不好 watch 是数据监听时执行相应的操作,执行方法等 监听data中的数据 监听路由 十三。vue项目打包了一个js,css还是多个 都是一个 十四。vue组件之间的传值 1.父组件传值到子组件 父组件在子组件上自定义属性和自身数据连接起来 子组件通过props:{父组件在子组件的自定义属性}拿到数据 2.子组件传值到父组件 子组件通过 //第一个参数为给父组件自定义事件,第二个参数为子组件的值 this. nextTickdomdatajsdatavuekeepalive1.keepalivedom2.keepalivedomkeepalive3.keepaliveactivateddeactivatedvuekeydomdiffdomkey12.ABCDEBCFABCFDCED使keydiffABCDEBCFvue使1.npminstallxx2.importxxfromxx3.<xx></xx>watchcomputedcomputed1.data2.3.watchdatavuejscssvue1.props:2.//this.emit(‘chan’,this.inputval)
父组件通过在子模板中写@chan=‘change’
在methods中写change(msg)参数就是子组件传来的值
3.兄弟组件之间的传值
在src文件夹下新建Bus.js写入如下内容
import Vue from ‘Vue’;
export default new Vue;
在子组件a中引入Bus.js
用Bus.$emit(‘事件名’,传入值msg)
在子组件b中引入Bus.js
用Bus.$on(‘事件名’,函数(msg){处理传入值msg})
十五。vue-cli中src各个文件夹的含义
assets 静态资源(图片,js,css)
components 非路由组件
views 路由组件
router 路由配置
store vuex(仓库)
App.vue 挂载的第一个组件
main.js 全局的文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值