当前位置:首页 > VUE

vue实现小功能

2026-02-18 12:58:55VUE

Vue 实现计数器功能

通过 Vue 的响应式数据绑定,可以快速实现一个计数器功能。

模板部分

<template>
  <div>
    <button @click="decrement">-</button>
    <span>{{ count }}</span>
    <button @click="increment">+</button>
  </div>
</template>

脚本部分

<script>
export default {
  data() {
    return {
      count: 0
    }
  },
  methods: {
    increment() {
      this.count++
    },
    decrement() {
      this.count--
    }
  }
}
</script>

Vue 实现待办事项列表

利用 v-forv-model 实现简单的待办事项管理。

模板部分

<template>
  <div>
    <input v-model="newTodo" @keyup.enter="addTodo">
    <ul>
      <li v-for="(todo, index) in todos" :key="index">
        {{ todo }}
        <button @click="removeTodo(index)">删除</button>
      </li>
    </ul>
  </div>
</template>

脚本部分

<script>
export default {
  data() {
    return {
      newTodo: '',
      todos: []
    }
  },
  methods: {
    addTodo() {
      if (this.newTodo.trim()) {
        this.todos.push(this.newTodo)
        this.newTodo = ''
      }
    },
    removeTodo(index) {
      this.todos.splice(index, 1)
    }
  }
}
</script>

Vue 实现表单验证

结合计算属性和条件渲染实现简单的表单验证。

模板部分

vue实现小功能

<template>
  <div>
    <input v-model="email" placeholder="输入邮箱">
    <p v-if="!isValidEmail && email" style="color: red">邮箱格式不正确</p>
    <button :disabled="!isValidEmail">提交</button>
  </div>
</template>

脚本部分

<script>
export default {
  data() {
    return {
      email: ''
    }
  },
  computed: {
    isValidEmail() {
      const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/
      return regex.test(this.email)
    }
  }
}
</script>

Vue 实现动态样式绑定

通过 :class:style 实现动态样式切换。

模板部分

<template>
  <div>
    <button @click="toggleActive">切换样式</button>
    <div :class="{ active: isActive }" :style="styleObject">动态样式示例</div>
  </div>
</template>

脚本部分

vue实现小功能

<script>
export default {
  data() {
    return {
      isActive: false,
      styleObject: {
        color: 'blue',
        fontSize: '16px'
      }
    }
  },
  methods: {
    toggleActive() {
      this.isActive = !this.isActive
    }
  }
}
</script>

Vue 实现组件通信(父子传值)

通过 props$emit 实现父子组件数据传递。

父组件模板

<template>
  <div>
    <ChildComponent :message="parentMessage" @update="handleUpdate"/>
  </div>
</template>

父组件脚本

<script>
import ChildComponent from './ChildComponent.vue'
export default {
  components: { ChildComponent },
  data() {
    return {
      parentMessage: '来自父组件的消息'
    }
  },
  methods: {
    handleUpdate(newMessage) {
      this.parentMessage = newMessage
    }
  }
}
</script>

子组件模板

<template>
  <div>
    <p>{{ message }}</p>
    <button @click="sendMessage">更新消息</button>
  </div>
</template>

子组件脚本

<script>
export default {
  props: ['message'],
  methods: {
    sendMessage() {
      this.$emit('update', '子组件修改后的消息')
    }
  }
}
</script>

标签: 功能vue
分享给朋友:

相关文章

vue实现建模

vue实现建模

Vue 实现建模的方法 在 Vue 中实现建模通常涉及数据绑定、组件化和状态管理。以下是几种常见的方法: 数据驱动建模 Vue 的核心是数据驱动视图。通过定义数据模型,Vue 会自动更新 DOM。例…

vue实现treeview

vue实现treeview

Vue 实现 TreeView 的方法 使用递归组件实现 TreeView 递归组件是 Vue 中实现 TreeView 的常见方式。通过组件调用自身,可以轻松处理嵌套的树形结构数据。 <te…

vue 菜单实现

vue 菜单实现

Vue 菜单实现方法 在Vue中实现菜单功能可以通过多种方式完成,以下是几种常见的实现方法: 使用v-for动态生成菜单 通过数据驱动的方式动态渲染菜单项,适合菜单内容可能变化的场景: <t…

vue 实现弹窗

vue 实现弹窗

Vue 实现弹窗的方法 在 Vue 中实现弹窗功能可以通过多种方式完成,以下是几种常见的方法: 使用组件和 v-if/v-show 控制显示 创建一个独立的弹窗组件,通过 v-if 或 v-show…

vue toast实现

vue toast实现

Vue Toast 实现方法 使用第三方库(推荐) 安装 vue-toastification 库,这是一个功能丰富且轻量级的 Vue Toast 插件。 npm install vue-toast…

vue 实现 confirm

vue 实现 confirm

实现确认对话框的方法 在Vue中实现确认对话框可以通过多种方式完成,包括使用内置组件、第三方库或自定义组件。 使用浏览器原生confirm 最简单的实现方式是直接调用浏览器原生的confirm方法。…