当前位置:首页 > 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 架构实现核心方案 Vue.js 的架构实现通常围绕模块化、组件化和状态管理展开。以下为常见实现方案: 基于单文件组件(SFC)的模块化 通过 .vue 文件组织模板、脚本和样式: <…

vue实现ppt

vue实现ppt

Vue 实现 PPT 的功能 Vue 可以结合第三方库或自定义组件实现类似 PPT 的演示效果。以下是几种常见的方法: 使用第三方库 reveal.js reveal.js 是一个流行的演示框架,支…

vue实现评分

vue实现评分

Vue 实现评分功能 使用组件库实现 安装 element-ui 或 ant-design-vue 这类 UI 库,它们已经内置了评分组件。 以 element-ui 为例: <templa…

vue实现换页

vue实现换页

Vue实现页面切换的方法 在Vue中实现页面切换通常可以通过Vue Router来完成。Vue Router是Vue.js官方的路由管理器,用于构建单页面应用(SPA)。以下是几种常见的实现方式:…

vue 实现长按

vue 实现长按

实现长按功能的基本思路 在Vue中实现长按功能,通常需要监听元素的mousedown或touchstart事件,启动一个计时器。当用户按住元素超过设定的时间阈值时,触发长按回调函数。如果在时间阈值内触…

vue工序实现

vue工序实现

Vue 工序实现方法 在Vue中实现工序(或流程)功能,通常涉及状态管理、组件通信和动态渲染。以下是几种常见方法: 使用动态组件 通过Vue的<component :is="currentCo…