当前位置:首页 > 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进行数据获取:

<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 扫码登录实现方案 准备工作 确保项目已安装 Vue 2/3 及相关依赖,需要后端提供生成二维码和验证扫码状态的接口。 生成二维码 使用 qrcode 库生成登录二维码,需调用后端接口获取唯…

代码实现vue

代码实现vue

安装Vue.js 通过npm或yarn安装Vue.js最新稳定版本。确保已安装Node.js环境。 npm install vue # 或 yarn add vue 创建Vue实例 在HTML文件…

如何生成react代码

如何生成react代码

使用 Create React App 生成项目 安装 Node.js 后,通过命令行工具运行以下命令创建新项目: npx create-react-app my-app cd my-app np…

css网页制作代码

css网页制作代码

以下是一些常用的CSS网页制作代码示例,涵盖布局、样式和交互效果: 基础布局与样式 重置浏览器默认样式 * { margin: 0; padding: 0; box-sizing: b…

网页表格制作css代码

网页表格制作css代码

基础表格样式 使用CSS为HTML表格添加基础样式,包括边框、间距和背景色: table { width: 100%; border-collapse: collapse; margin…

vue代码核心实现

vue代码核心实现

Vue 核心实现原理 Vue.js 的核心实现主要包括响应式系统、虚拟 DOM、模板编译和组件化机制。以下是关键实现要点: 响应式系统 通过 Object.defineProperty(Vue 2)…