当前位置:首页 > VUE

vue实现代码实例

2026-01-22 10:02:22VUE

以下是一个基于 Vue 3 的完整代码实例,包含核心功能实现和常见开发场景的示例:

基础组件示例

<template>
  <div>
    <h1>{{ title }}</h1>
    <button @click="increment">Count: {{ count }}</button>
    <input v-model="inputText" placeholder="Type something..." />
    <p>Input value: {{ inputText }}</p>
  </div>
</template>

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

const title = 'Vue 3 Example'
const count = ref(0)
const inputText = ref('')

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

<style scoped>
button {
  padding: 8px 16px;
  background-color: #42b983;
  color: white;
  border: none;
  border-radius: 4px;
}
</style>

组件通信示例

父组件:

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

<script setup>
import { ref } from 'vue'
import ChildComponent from './ChildComponent.vue'

const parentMessage = ref('Hello from parent')

const handleUpdate = (newMessage) => {
  parentMessage.value = newMessage
}
</script>

子组件:

<template>
  <div>
    <p>Received: {{ message }}</p>
    <button @click="sendMessage">Send Message</button>
  </div>
</template>

<script setup>
defineProps(['message'])
const emit = defineEmits(['update-message'])

const sendMessage = () => {
  emit('update-message', 'New message from child')
}
</script>

状态管理(Pinia)示例

store/counter.js:

import { defineStore } from 'pinia'

export const useCounterStore = defineStore('counter', {
  state: () => ({
    count: 0
  }),
  actions: {
    increment() {
      this.count++
    }
  },
  getters: {
    doubleCount: (state) => state.count * 2
  }
})

组件中使用:

<template>
  <div>
    <p>Count: {{ counter.count }}</p>
    <p>Double: {{ counter.doubleCount }}</p>
    <button @click="counter.increment()">Increment</button>
  </div>
</template>

<script setup>
import { useCounterStore } from '@/store/counter'

const counter = useCounterStore()
</script>

路由示例

router/index.js:

import { createRouter, createWebHistory } from 'vue-router'
import Home from '../views/Home.vue'
import About from '../views/About.vue'

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})

export default router

导航组件:

<template>
  <nav>
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>
  </nav>
  <router-view />
</template>

API请求示例

使用axios进行数据获取:

vue实现代码实例

<template>
  <div v-if="loading">Loading...</div>
  <div v-else>
    <ul>
      <li v-for="item in data" :key="item.id">
        {{ item.name }}
      </li>
    </ul>
  </div>
</template>

<script setup>
import { ref, onMounted } from 'vue'
import axios from 'axios'

const data = ref([])
const loading = ref(true)

onMounted(async () => {
  try {
    const response = await axios.get('https://api.example.com/items')
    data.value = response.data
  } catch (error) {
    console.error('Error fetching data:', error)
  } finally {
    loading.value = false
  }
})
</script>

这些示例涵盖了Vue开发中的常见场景,包括组件基础、状态管理、路由和API交互等核心功能。实际开发中可根据项目需求进行组合和扩展。

标签: 实例代码
分享给朋友:

相关文章

vue实现动画代码

vue实现动画代码

Vue 动画实现方法 Vue 提供了多种方式实现动画效果,包括内置过渡组件、CSS 动画库集成以及第三方动画库结合。以下是几种常见实现方法: 使用 Vue 内置过渡组件 Vue 的 <tran…

vue 实现代码

vue 实现代码

Vue 是一个流行的前端框架,用于构建用户界面。以下是一个简单的 Vue 实现代码示例,展示如何创建一个基本的 Vue 应用。 安装 Vue 通过 CDN 引入 Vue: <script s…

vue简单代码实现

vue简单代码实现

以下是一个基于 Vue 3 的简单代码实现示例,包含基础功能演示: 基础模板结构 <!DOCTYPE html> <html lang="en"> <head>…

vue实现html页面实例

vue实现html页面实例

Vue 实现 HTML 页面实例 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是一个简单的 Vue 实现 HTML 页面的实例,展示如何将 Vue 集成到 HTML…

vue代码实现清除缓存

vue代码实现清除缓存

清除浏览器缓存的方法 在Vue项目中清除缓存通常涉及版本控制、强制刷新或服务端配置。以下是几种常见实现方式: 修改文件名添加哈希 通过webpack配置在打包时为静态文件添加哈希值,确保每次更新后文…

vue实现添加内容代码

vue实现添加内容代码

以下是一个基于 Vue.js 实现添加内容的代码示例,包含核心逻辑和关键步骤: 基础实现 模板部分(Template) <template> <div> <…