当前位置:首页 > VUE

vue原生实现

2026-03-28 02:45:27VUE

以下是 Vue 原生实现常见功能的几种方式,不依赖第三方库:

数据绑定与响应式

使用 data() 返回响应式对象,Vue 自动追踪变化:

export default {
  data() {
    return {
      message: 'Hello Vue'
    }
  }
}

模板中直接绑定:

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

条件渲染

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

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

列表渲染

v-for 渲染数组或对象:

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

事件处理

v-on@ 简写绑定事件:

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

方法定义:

methods: {
  handleClick() {
    alert('Clicked!')
  }
}

计算属性

computed 处理复杂逻辑:

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

生命周期钩子

常用钩子示例:

export default {
  created() {
    console.log('实例创建完成')
  },
  mounted() {
    console.log('DOM挂载完成') 
  }
}

组件通信

父传子通过 props:

// 父组件
<Child :msg="parentMsg" />

// 子组件
props: ['msg']

子传父通过事件:

// 子组件
this.$emit('notify', data)

// 父组件
<Child @notify="handleNotify" />

动态组件

<component> 配合 is 属性:

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

插槽

默认插槽和命名插槽:

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

<!-- 父组件 -->
<Child>
  <template v-slot:header>标题</template>
  <p>默认内容</p>
</Child>

自定义指令

注册全局/局部指令:

// 全局
Vue.directive('focus', {
  inserted(el) {
    el.focus()
  }
})

// 局部
directives: {
  focus: {
    inserted(el) {
      el.focus()
    }
  }
}

混入 (Mixin)

复用逻辑片段:

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

// 组件中使用
mixins: [myMixin]

过滤器

文本格式化:

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

模板使用:

vue原生实现

<p>{{ message | capitalize }}</p>

这些实现方式覆盖了 Vue 的核心功能,可根据具体需求选择组合使用。

标签: vue
分享给朋友:

相关文章

vue 实现级联

vue 实现级联

Vue 实现级联选择器 级联选择器(Cascader)常用于省市区选择、分类选择等场景。Vue 中可以通过 Element UI、Ant Design Vue 等 UI 库实现,也可以手动封装。 使…

vue实现hover

vue实现hover

Vue 实现 hover 效果的方法 在 Vue 中实现 hover 效果可以通过多种方式实现,包括使用 CSS、Vue 指令或事件监听。以下是几种常见的方法: 使用 CSS :hover 伪类 通…

vue实现api

vue实现api

Vue 实现 API 调用 在 Vue 中调用 API 通常涉及使用 axios 或 fetch 发送 HTTP 请求,并结合 Vue 的响应式特性管理数据。以下是常见的实现方式: 安装 axios…

vue实现加载

vue实现加载

Vue 实现加载功能的方法 使用 v-if 或 v-show 控制加载状态 通过数据绑定控制加载动画的显示与隐藏。v-if 会完全移除 DOM 元素,v-show 只是切换 display 属性。…

vue 实现异步加载

vue 实现异步加载

Vue 实现异步加载的方法 使用动态 import 实现组件懒加载 在 Vue 中可以通过动态 import() 语法实现组件的异步加载,这会使得组件在需要时才被加载,减少初始加载时间。 const…

vue实现弹层

vue实现弹层

Vue 实现弹层的方法 使用 Vue 原生组件实现弹层 创建一个基础的弹层组件,利用 v-if 或 v-show 控制显示隐藏。 <template> <div class="…