当前位置:首页 > VUE

vue原生实现

2026-02-10 16:51:32VUE

以下是 Vue 原生实现常见功能的几种方法,不使用第三方库:

双向数据绑定

使用 v-model 指令实现表单输入与应用状态的双向绑定:

<input v-model="message">
<p>{{ message }}</p>

条件渲染

通过 v-ifv-show 控制元素显示:

<div v-if="isVisible">条件渲染内容</div>
<div v-show="isActive">显示控制内容</div>

列表渲染

使用 v-for 指令渲染数组或对象:

<li v-for="(item, index) in items" :key="item.id">
  {{ index }} - {{ item.text }}
</li>

事件处理

通过 v-on@ 简写绑定事件:

<button @click="handleClick">点击事件</button>

计算属性

使用 computed 处理复杂逻辑:

vue原生实现

computed: {
  reversedMessage() {
    return this.message.split('').reverse().join('')
  }
}

侦听器

通过 watch 监听数据变化:

watch: {
  message(newVal, oldVal) {
    console.log('值变化:', oldVal, '->', newVal)
  }
}

组件通信

父子组件通过 props 和 $emit 通信:

// 父组件
<child-component :propData="parentData" @custom-event="handleEvent"/>

// 子组件
props: ['propData'],
methods: {
  triggerEvent() {
    this.$emit('custom-event', payload)
  }
}

生命周期钩子

常用生命周期示例:

created() {
  // 实例创建后调用
},
mounted() {
  // DOM挂载后调用
}

动态组件

通过 <component> 实现组件动态切换:

vue原生实现

<component :is="currentComponent"></component>

插槽

使用插槽进行内容分发:

<!-- 父组件 -->
<child-component>
  <template v-slot:default>默认插槽内容</template>
</child-component>

<!-- 子组件 -->
<slot name="default"></slot>

自定义指令

创建自定义指令:

directives: {
  focus: {
    inserted(el) {
      el.focus()
    }
  }
}

过滤器

实现文本格式化(Vue 3 已移除,可用方法替代):

filters: {
  capitalize(value) {
    return value.charAt(0).toUpperCase() + value.slice(1)
  }
}

混入

使用 mixin 复用逻辑:

const myMixin = {
  created() {
    this.hello()
  },
  methods: {
    hello() {
      console.log('mixin方法')
    }
  }
}

这些方法涵盖了 Vue 核心功能的原生实现方式,适用于大多数基础到中级的开发场景。

标签: vue
分享给朋友:

相关文章

vue状态管理怎么实现

vue状态管理怎么实现

Vue 状态管理实现方法 使用 Vuex(官方推荐) Vuex 是 Vue 的官方状态管理库,适合中大型应用。 安装 Vuex: npm install vuex --save 创建 Store 示…

vue实现handsontable

vue实现handsontable

Vue 中实现 Handsontable 要在 Vue 项目中集成 Handsontable,可以使用官方提供的 @handsontable/vue 封装库。以下是一个完整的实现步骤。 安装依赖 确…

vue 实现表单

vue 实现表单

Vue 表单实现方法 Vue.js 提供了多种方式实现表单,包括双向数据绑定、表单验证和动态表单生成。以下是常见的实现方法: 基础表单绑定 使用 v-model 指令实现表单元素与数据的双向绑定:…

实现vue cli

实现vue cli

安装 Vue CLI 确保系统中已安装 Node.js(版本建议 12.x 或更高)。通过 npm 全局安装 Vue CLI: npm install -g @vue/cli 安装完成后验证版本:…

vue实现spa

vue实现spa

Vue 实现 SPA(单页应用)的步骤 创建 Vue 项目 使用 Vue CLI 快速初始化一个 Vue 项目,确保安装了 Vue Router 作为路由管理工具。运行以下命令创建项目: vue c…

vue实现弹照片

vue实现弹照片

Vue 实现图片弹窗展示 方法一:使用原生 HTML 和 Vue 指令 创建基础的图片弹窗组件,通过 v-if 或 v-show 控制显示状态。点击图片时触发弹窗展示。 <template&…