当前位置:首页 > VUE

实现vue vm

2026-02-10 16:38:18VUE

Vue 实例(VM)的基本概念

Vue 实例是 Vue 应用的根对象,通过 new Vue() 创建。它是数据、方法、生命周期钩子等的载体,负责连接视图(DOM)与数据模型(Model)。

创建 Vue 实例

通过构造函数 Vue 初始化实例,传入配置对象(options)定义数据和行为:

const vm = new Vue({
  el: '#app',      // 挂载目标(DOM 元素)
  data: {          // 响应式数据
    message: 'Hello Vue!'
  },
  methods: {       // 方法
    showMessage() {
      console.log(this.message);
    }
  }
});

核心配置选项

  • el:指定挂载的 DOM 元素(如 #app)。
  • data:定义响应式数据,Vue 会递归将其属性转为 getter/setter。
  • methods:定义方法,可通过 this 访问实例数据。
  • computed:计算属性,基于依赖缓存结果。
  • watch:监听数据变化,执行自定义逻辑。

响应式原理

Vue 通过 Object.defineProperty(Vue 2)或 Proxy(Vue 3)实现数据劫持。当数据变化时,触发依赖的视图更新。

生命周期钩子

Vue 实例在创建、更新、销毁过程中会触发生命周期钩子,常用钩子包括:

  • created:实例创建完成,但未挂载 DOM。
  • mounted:DOM 挂载完成。
  • updated:数据更新导致 DOM 重新渲染后。
  • destroyed:实例销毁后。

示例:

new Vue({
  created() {
    console.log('实例已创建');
  },
  mounted() {
    console.log('DOM 已挂载');
  }
});

实例属性和方法

  • vm.$data:访问原始数据对象。
  • vm.$el:访问挂载的 DOM 元素。
  • vm.$watch():动态监听数据变化。

注意事项

  • 避免在 data 中使用箭头函数,会导致 this 指向错误。
  • 动态添加的根级属性需使用 Vue.set() 确保响应式。

通过合理配置 Vue 实例,可以实现数据驱动视图的高效开发模式。

实现vue vm

标签: vuevm
分享给朋友:

相关文章

vue登录逻辑的实现

vue登录逻辑的实现

Vue 登录逻辑实现 前端实现 创建登录组件 在 Vue 项目中创建一个登录组件,通常命名为 Login.vue。该组件包含表单元素,如用户名和密码输入框,以及提交按钮。 <template&…

vue实现积分

vue实现积分

Vue 实现积分功能 在 Vue 中实现积分功能通常涉及前端展示、交互逻辑以及与后端 API 的通信。以下是常见的实现方法和步骤: 积分展示组件 创建一个积分展示组件,用于显示当前用户的积分。可以…

vue 实现豆瓣

vue 实现豆瓣

以下是基于 Vue 实现豆瓣电影类功能的实现方案,涵盖核心模块和技术要点: 数据获取与 API 调用 使用豆瓣开放 API(需注意调用频率限制)或第三方代理接口 推荐 axios 进行异步请求,配…

vue实现语音

vue实现语音

Vue 实现语音功能的方法 使用 Web Speech API Vue 可以结合 Web Speech API 实现语音识别和合成功能。Web Speech API 包含 SpeechRecognit…

vue广告实现

vue广告实现

Vue 广告实现方法 在 Vue 项目中实现广告功能可以通过多种方式完成,具体取决于广告类型和需求。以下是几种常见的实现方法: 使用第三方广告平台 许多广告平台如 Google AdSense、百…

vue实现级联

vue实现级联

Vue 实现级联选择器的方法 级联选择器(Cascader)是常见的表单组件,用于处理多层级联动数据选择(如省市区选择)。以下是几种实现方式: 基于 Element UI 的 el-cascader…