当前位置:首页 > VUE

实现vue vm

2026-02-10 16:38:18VUE

Vue 实例(VM)的基本概念

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

创建 Vue 实例

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

实现vue vm

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 vm

生命周期钩子

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 实例,可以实现数据驱动视图的高效开发模式。

标签: vuevm
分享给朋友:

相关文章

vue实现选区创建

vue实现选区创建

Vue 实现选区创建的方法 在 Vue 中实现选区创建通常涉及 DOM 操作和事件处理。以下是几种常见的方法: 使用原生 DOM API 通过 window.getSelection() 和 Ran…

vue实现单点

vue实现单点

Vue 实现单点登录(SSO)方案 单点登录(SSO)允许用户在多个相关但独立的系统中使用同一组凭证登录。以下是基于 Vue 的实现方案: 基于 OAuth2/OpenID Connect 的实现…

vue实现$.extend

vue实现$.extend

Vue 实现类似 jQuery 的 $.extend 功能 在 Vue 中实现类似 jQuery 的 $.extend 功能,可以通过多种方式完成。$.extend 主要用于合并多个对象的属性,Vue…

vue实现flbook

vue实现flbook

Vue 实现类似 Flbook 的翻页效果 要实现类似 Flbook 的翻页效果,可以使用 Vue 结合 CSS 动画和 JavaScript 事件处理。以下是实现方法: 安装依赖 需要安装 vue…

vue 实现图钉

vue 实现图钉

实现图钉效果的步骤 在Vue中实现图钉(固定位置)效果,可以通过CSS的position: sticky属性或监听滚动事件动态修改元素样式。以下是两种常见方法: 方法一:使用CSS的position…

vue实现Pop

vue实现Pop

Vue 实现 Popover 组件的方法 使用 Vue 内置指令 v-show/v-if 和事件监听 通过 Vue 的指令和事件绑定实现基础的 Popover 功能。定义一个布尔值控制 Popover…