排序
面试题:在 Vue 渲染模板时,如何保留模板中的 HTML 注释?
在 Vue 中,默认情况下,模板中的 HTML 注释会在编译阶段被移除,不会出现在最终的渲染结果中。如果需要在渲染时保留 HTML 注释,可以通过以下方式实现: 1. 使用 comments 选项 在 Vue 2 中,...
面试题:Vue 3 中的 watch 和 watchEffect 有什么区别?如何选择使用它们?
在 Vue 3 中,watch 和 watchEffect 都是用于监听响应式数据变化的 API,但它们的用途和行为有所不同。理解它们的区别并正确选择使用场景,可以帮助你更高效地编写代码。 1. watch 的特点 watch...
面试题:Vue 是如何收集依赖的?
Vue 的依赖收集是其响应式系统的核心机制之一,它通过依赖追踪来实现数据的自动更新。 具体来说,Vue 在初始化时会为每个响应式属性创建一个 Dep(依赖)对象,并在属性被访问时收集依赖(即 W...
面试题:是否阅读过 Vue Router 的源码?有哪些优秀的设计?
Vue Router 是 Vue.js 官方的路由管理器,它的源码设计非常精妙,结合了响应式系统、动态路由匹配、导航守卫等特性。以下是 Vue Router 源码中的一些优秀设计: 1. 响应式路由 Vue Router 的核...
面试题:Vue Router 的 history 模式部署上线时有哪些注意事项?
在使用 Vue Router 的 history 模式时,部署上线需要注意以下几个关键点,以确保应用能够正常运行: 1. 服务器配置 history 模式的路由通过 URL 路径来访问页面(如 /about),而不是通过哈希(...
面试题:MVVM 的优缺点是什么?
1. 什么是 MVVM? MVVM(Model-View-ViewModel)是一种软件架构模式,主要用于分离 UI 逻辑和业务逻辑。它将应用程序分为三个部分: Model:负责管理数据和业务逻辑。 View:负责显示 UI。 View...
面试题:什么是 Vue 的 provide 和 inject?
provide 和 inject 是 Vue 提供的一种高级组件通信方式,主要用于跨层级组件之间的数据传递。它们通常用于解决 prop 逐级透传(prop drilling)的问题,即在多层嵌套组件中,避免通过 props 一...
面试题:Vue 中有哪些表单修饰符和事件修饰符?
在 Vue 中,修饰符(Modifiers)是用来简化代码或增强功能的一种特殊语法。Vue 提供了多种修饰符,主要包括 表单修饰符 和 事件修饰符。以下是它们的详细说明和用法: 一、表单修饰符 表单修饰...
面试题:Vue 中组件、插件、插槽三个概念的区别是什么?
在 Vue 中,组件、插件 和 插槽 是三个不同的概念,它们分别用于不同的场景和目的。以下是它们的区别和具体作用: 1. 组件(Component) 定义 组件是 Vue 中的核心概念之一,它是一个可复用的 V...
面试题:什么情况下 Vue 能监听到数组或对象变化,什么情况监听不到?无法监听时如何解决?
Vue 的响应式系统通过 Object.defineProperty(Vue 2)或 Proxy(Vue 3)来监听数据变化。然而,在某些情况下,Vue 无法自动检测到数组或对象的变化。以下是详细说明及解决方法: 1. Vue 能监听...