首页 > 其他分享 >xxx公司vue面试

xxx公司vue面试

时间:2024-09-24 11:23:53浏览次数:9  
标签:vue rpx px xxx 面试 Vue 组件 ref 加载

  1. vue2和vue3响应式原理的区别
    1. vue2使用Object.defineProperty()实现响应式原理,而vue3使用Proxy()实现。
    2. 虽然vue2,vue3面对对象嵌套,都需要递归,但vue2是对对象的所有属性进行递归,vue3是按需递归,如果没有使用到内部对象的属性,就不需要递归,性能更好。
  2. ref和reactive区别
    1. 用法,ref定义变量后再js中访问.value方式获取,而reactive定义的对象直接对象点属性取值。

    2. 范围不同:ref可以定义任意数据类型的变量,reactive只能用来定义复杂数据类型的变量
    3. reactive API有一些局限性,不能用于整个对象的替换,必须通过属性访问才能具备响应式,整体替换会让其失去响应式,结构后失去响应式,官方建议使用 ref() 作为声明响应式状态的主要 API。
  3. px、rpx、em、rem的区别
    1. px绝对长度单位,px是一个固定长度,不会随着页面的放大缩小变化
    2. rpx是uniapph和微信小程序开发引入的尺寸单位,rpx可以根据屏幕的宽度进行自适应,规定所有手机的屏幕宽度均为 750rpx 的大小。rpx的实现依赖于一个基本的换算规则,px = rpx * (屏幕宽度 / 750),rpx = px / (屏幕宽度 / 750)。这个换算过程确保了无论设备屏幕尺寸如何变化,小程序的布局和元素尺寸都能保持相对的一致性,从而提升了用户体验和应用的适应性。
    3. 相对单位,相对于它的父节点字体进行计算

    4. 相对单位,相对根节点html的字体大小来计算
  4. vue常用的数据通信
    1. 父子组件之间的通信。父组件通过props向子组件传递数据,子组件通过emit将事件发送回父组件
    2. 父组件可以通过 ref 获取子组件的实例
    3. 父组件可以通过 provide 提供数据或方法,子孙组件可以通过 inject 注入所需的数据或方法
    4. $attrs 包含了父组件传递给子组件的所有属性,除了那些已经被 props 或 emits 声明的。
    5. v-model 提供了一种简洁的方式来实现父子组件之间的双向数据绑定。
    6. 路由参数query和params
    7. vuex和pinia,Vue 状态管理库
    8. localStorage 和 sessionStorage 可以用于在不同页面或组件之间共享数据。
    9. 全局属性,Vue 3 提供了 app.config.globalProperties 来替代 Vue 2 中的 Vue.prototype,用于添加全局可用的属性。
  5. css3使用变量scss使用变量
    1. css3 ,--name,变量的调用使用var(--name)
    2. scss,$name。$name使用
  6. 页面加载速度优化
    1. 代码分割和懒加载:使用动态导入语法进行代码分割,将组件按需加载,
    2. 列表分页。
    3. 路由懒加载:使用Vue的异步路由功能,仅当用户访问到某个路由时才加载该路由的组件。
    4. 懒加载第三方库
    5. 使用SSR(服务器端渲染)
    6. 开启Gzip压缩,webpack-bundle-analyzer来分析和优化打包体积

 

  

 

标签:vue,rpx,px,xxx,面试,Vue,组件,ref,加载
From: https://www.cnblogs.com/qiaozhiming123/p/18428826

相关文章

  • 万象更新 Html5 - vue.js: vue 指令(自定义指令)
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-vue.js:vue指令(自定义指令)示例如下:vue\directive\vcustom.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>vue指令(自定......
  • 万象更新 Html5 - vue.js: vue 组件 1
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-vue.js:vue组件1示例如下:vue\component\sample1.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>vue组件1</t......
  • 万象更新 Html5 - vue.js: vue 组件 2
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-vue.js:vue组件2示例如下:vue\component\sample2.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>vue组件2</t......
  • 万象更新 Html5 - vue.js: vue 路由基础
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-vue.js:vue路由基础示例如下:vue\router\sample1.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>vue路由基础</titl......
  • Vue组件使用/单个组件的生命周期
    props和$emitprops:用于父组件传递data数据给子组件,比如在index.vue中,data函数里面有个list数据,把它传给List组件(下图1),在List组件内用list属性来接收(下图2)$emit:事件触发,在index.vue中在两个子组件内传入了两个方法:adddelete。这俩方法作为父组件给子组件的两个......
  • 万象更新 Html5 - vue.js: vue 模板语法基础(MVVM, 插值, 指令等)
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-vue.js:vue模板语法基础(MVVM,插值,指令等)示例如下:vue\basic.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>vue模板语法基础......
  • 【开题报告】基于django+vue宿舍管理系统(论文+程序)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着高校规模的不断扩大和学生人数的持续增长,宿舍管理成为了高校日常管理中的一项重要且复杂的任务。传统的宿舍管理模式往往依赖于人工记......
  • 【JS】Object.defineProperty与Proxy的对比并通过Vue2、3的实现证明Proxy性能优于Obje
    一、Object.defineProperty这里只是简单描述,具体请看另一篇文章:Object.defineProperty。Object.defineProperty是JavaScript中用于定义或修改对象属性的功能强大的方法。它可以精确地控制属性的行为,如是否可枚举、可配置、可写等。基本用法Object.defineProperty(obj......
  • vue实现点击按钮发出警报声
    Vue的音乐文件夹叫做assets,assets文件夹在Vue项目的根目录下。assets文件夹用于存放项目中使用的静态资源文件,包括图片、音乐、视频等。在assets文件夹中,可以创建一个单独的文件夹用于存放音乐文件,命名可根据需要自定义,一般而言命名为music或audio。音频文件:在这里免费下载  h......
  • Vue 基本使用
    基本使用,组件使用❗必须要会!高级特性不常用,但可以体现你的知识深度Vuex和Vuerouter❗重要考察频率高面试题......