当前位置:首页 > 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.js构建动态发布表单,包含文本输入和图片上传功能 <template> <div> <textarea v-…

vue实现生成二维码

vue实现生成二维码

使用qrcode.vue库生成二维码 安装qrcode.vue库: npm install qrcode.vue --save 在Vue组件中使用: <template> &l…

vue实现动态

vue实现动态

Vue 实现动态路由的方法 在 Vue 中实现动态路由通常涉及以下几个关键步骤: 使用 Vue Router 的动态路由匹配 通过 Vue Router 的 :param 语法可以实现动态路由匹配。…

vue实现 toast

vue实现 toast

Vue 实现 Toast 组件 在 Vue 中实现 Toast 组件可以通过多种方式完成,以下是几种常见的方法: 使用全局组件和事件总线 创建一个全局的 Toast 组件,并通过事件总线或 Vue…

vue 实现打印

vue 实现打印

Vue 实现打印功能的方法 在Vue项目中实现打印功能,可以通过以下几种方式实现: 使用window.print()方法 通过调用浏览器的原生打印API实现基础打印功能,适用于简单内容打印。 //…

vue实现必填

vue实现必填

Vue 实现表单必填验证的方法 在Vue中实现表单必填验证可以通过多种方式完成,以下是几种常见的方法: 使用HTML5原生属性 最简单的必填验证可以通过HTML5的required属性实现: &l…