面试题:为什么 Vue 的 data 属性必须声明为返回一个初始数据的函数?
这是一个非常经典的 Vue 面试题,核心原因在于 JavaScript 的对象引用机制和 组件复用的需求。 问题核心:组件是可复用的 在 Vue 中,组件(Component)是一个可复用的实例。我们可以在一个应用...
面试题:在 Vue 事件中传入 $event,使用 e.target 和 e.currentTarget 有什么区别?
在 Vue 的事件处理中,e.target 和 e.currentTarget 都是原生 DOM 事件对象的属性,它们都指向 DOM 元素,但代表的含义完全不同。理解它们的区别对于正确处理事件委托和事件冒泡至关重要。 核心...
面试题:Vue Router 的跳转和 location.href 有什么区别?
Vue Router 的编程式导航(如 router.push)和原生的 location.href 都能实现页面跳转,但它们在工作原理、用户体验和应用状态上有本质区别。 核心区别 特性Vue Router (router.push)location.h...
面试题:如何访问 Vue 子组件的实例或子元素?
在 Vue 中,有时需要从父组件直接访问子组件的实例或其内部的 DOM 元素。Vue 提供了 ref 特性来实现这一需求。 核心方法:使用 ref 在子组件或元素上定义 ref:在父组件的模板中,为要访问的子...
面试题:如何重置 Vue 的 data?
在 Vue 中,“重置 data”通常指的是将组件实例的数据恢复到其初始状态(即组件创建时 data 函数返回的对象)。有几种常用的方法来实现这一目标。 方法一:调用 data() 函数并合并(推荐) 这是...
面试题:Vue 中怎么获取 DOM 节点?
在 Vue 中,获取 DOM 节点是通过 ref 特性来实现的。直接操作 DOM 不是 Vue 推荐的首选方式(Vue 提倡声明式渲染和数据驱动),但在某些特定场景下(如触发焦点、测量元素尺寸、集成第三方库等...
面试题:Vue 使用 v-for 遍历对象时,是按什么顺序遍历的?如何保证遍历顺序?
在 Vue 中使用 v-for 遍历对象时,其遍历顺序取决于 JavaScript 引擎对对象属性的枚举顺序,而这个顺序在 ES2015 (ES6) 之后是有明确规范的。 v-for 遍历对象的顺序 当你使用 v-for 遍历一个对...
面试题:Vue 路由之间是如何跳转的?有哪些跳转方式?
在 Vue Router 中,路由跳转(也称为编程式导航)是指通过 JavaScript 代码而非用户点击 <router-link> 来实现页面的导航。这是构建动态、交互式应用的关键。 核心原理 Vue Router 利用浏...
面试题:第一次加载 Vue 页面时会触发哪些生命周期钩子?
在第一次加载 Vue 页面时,会依次触发以下生命周期钩子(以 Vue 2 和 Vue 3 大体一致的流程为准): beforeCreate实例刚被创建,数据观测 (data observer) 和事件配置尚未开始,data、methods ...
面试题:Vue 常用的修饰符有哪些?分别有哪些应用场景?
Vue 提供了丰富的修饰符(Modifiers),它们是以“点 + 后缀”的形式(如 .prevent)附加在指令后面的特殊后缀,用于以声明式的方式修改指令的默认行为。以下是 Vue 中常用的修饰符及其应用场景...




