当前位置:首页 > VUE

vue实现例子

2026-01-13 06:45:35VUE

以下是 Vue.js 的几个常见实现例子,涵盖基础到进阶场景,采用清晰的模块化展示方式:

基础数据绑定与事件处理

<template>
  <div>
    <p>{{ message }}</p>
    <button @click="reverseMessage">反转文本</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Vue!'
    }
  },
  methods: {
    reverseMessage() {
      this.message = this.message.split('').reverse().join('')
    }
  }
}
</script>

条件渲染与列表渲染

<template>
  <div>
    <ul v-if="items.length">
      <li v-for="(item, index) in items" :key="index">
        {{ item.name }} - {{ item.price }}
      </li>
    </ul>
    <p v-else>暂无数据</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: [
        { name: '商品A', price: 100 },
        { name: '商品B', price: 200 }
      ]
    }
  }
}
</script>

表单双向绑定

<template>
  <div>
    <input v-model="inputText" placeholder="输入内容">
    <p>实时预览: {{ inputText }}</p>
    <select v-model="selectedOption">
      <option value="option1">选项1</option>
      <option value="option2">选项2</option>
    </select>
  </div>
</template>

<script>
export default {
  data() {
    return {
      inputText: '',
      selectedOption: 'option1'
    }
  }
}
</script>

组件通信示例

父组件 Parent.vue:

<template>
  <ChildComponent 
    :title="parentTitle" 
    @update-title="handleUpdate"
  />
</template>

<script>
import ChildComponent from './Child.vue'

export default {
  components: { ChildComponent },
  data() {
    return {
      parentTitle: '初始标题'
    }
  },
  methods: {
    handleUpdate(newTitle) {
      this.parentTitle = newTitle
    }
  }
}
</script>

子组件 Child.vue:

<template>
  <div>
    <h2>{{ title }}</h2>
    <button @click="changeTitle">修改标题</button>
  </div>
</template>

<script>
export default {
  props: ['title'],
  methods: {
    changeTitle() {
      this.$emit('update-title', '新标题' + Date.now())
    }
  }
}
</script>

生命周期钩子使用

<script>
export default {
  data() {
    return {
      timer: null
    }
  },
  created() {
    console.log('组件实例已创建')
    this.timer = setInterval(() => {
      console.log('定时执行')
    }, 1000)
  },
  beforeUnmount() {
    clearInterval(this.timer)
    console.log('组件即将卸载')
  }
}
</script>

组合式API示例

<template>
  <div>
    <p>计数: {{ count }}</p>
    <button @click="increment">增加</button>
  </div>
</template>

<script setup>
import { ref } from 'vue'

const count = ref(0)
const increment = () => {
  count.value++
}
</script>

路由导航示例

<template>
  <router-link to="/about">关于页面</router-link>
  <button @click="navigateToHome">首页</button>
</template>

<script>
import { useRouter } from 'vue-router'

export default {
  setup() {
    const router = useRouter()
    const navigateToHome = () => {
      router.push('/')
    }
    return { navigateToHome }
  }
}
</script>

这些例子覆盖了 Vue 的核心功能,可根据实际需求进行组合或扩展。每个示例都遵循 Vue 3 的推荐写法,同时兼容选项式 API 和组合式 API 两种风格。

vue实现例子

标签: 例子vue
分享给朋友:

相关文章

vue伪函数实现

vue伪函数实现

Vue 伪函数实现方法 伪函数(Mock Function)在 Vue 中常用于测试或模拟某些逻辑,以下是几种常见的实现方式: 使用 Jest 的 jest.fn() 在单元测试中,可以通过 Jes…

vue实现裁剪头像

vue实现裁剪头像

Vue 实现头像裁剪功能 实现头像裁剪功能通常需要结合第三方库如 cropperjs 或 vue-cropper。以下是两种常见实现方式: 使用 vue-cropper 库 安装依赖: np…

vue实现点击页面切换

vue实现点击页面切换

实现点击页面切换功能 在Vue中实现点击页面切换功能,可以通过路由跳转或组件动态渲染两种方式完成。以下是具体实现方法: 使用Vue Router实现页面跳转 安装Vue Router后,在项目中…

vue实现图集

vue实现图集

Vue 实现图集的方法 在 Vue 中实现图集功能可以通过多种方式完成,以下是一些常见的方法和实现步骤。 使用第三方库(如 vue-image-lightbox) 安装 vue-image-lig…

vue 实现弹幕

vue 实现弹幕

vue 实现弹幕的方法 使用 CSS 动画和动态渲染 在 Vue 中实现弹幕效果,可以通过动态渲染弹幕元素并结合 CSS 动画实现。以下是具体步骤: 数据准备 创建一个数组存储弹幕数据,每条弹幕…

vue实现通知

vue实现通知

Vue 实现通知功能的方法 使用 Vue 实现通知功能可以通过多种方式实现,以下是一些常见的方法: 使用 Vue 的全局事件总线 在 Vue 中可以通过事件总线实现通知功能。创建一个全局事件总线,然…