当前位置:首页 > VUE

简单实现vue

2026-02-10 01:54:15VUE

Vue 3 基础实现示例

以下是一个简单的 Vue 3 实现示例,包含基本功能如数据绑定、事件处理和组件使用。

安装 Vue 3

npm init vue@latest my-vue-app
cd my-vue-app
npm install

创建基础组件

src/components 目录下创建 HelloWorld.vue

<template>
  <div>
    <h1>{{ message }}</h1>
    <button @click="increment">Count: {{ count }}</button>
  </div>
</template>

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

const message = 'Hello Vue 3!';
const count = ref(0);

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

主入口文件

修改 src/main.js

import { createApp } from 'vue';
import App from './App.vue';

createApp(App).mount('#app');

根组件

修改 src/App.vue

简单实现vue

<template>
  <HelloWorld />
</template>

<script setup>
import HelloWorld from './components/HelloWorld.vue';
</script>

运行项目

启动开发服务器:

npm run dev

响应式数据绑定

Vue 3 使用 refreactive 实现响应式:

<script setup>
import { ref, reactive } from 'vue';

const counter = ref(0);
const user = reactive({
  name: 'John',
  age: 25
});
</script>

条件渲染与列表渲染

<template>
  <div v-if="showMessage">显示消息</div>
  <ul>
    <li v-for="item in items" :key="item.id">{{ item.name }}</li>
  </ul>
</template>

生命周期钩子

<script setup>
import { onMounted } from 'vue';

onMounted(() => {
  console.log('组件已挂载');
});
</script>

计算属性

<script setup>
import { computed, ref } from 'vue';

const firstName = ref('John');
const lastName = ref('Doe');

const fullName = computed(() => `${firstName.value} ${lastName.value}`);
</script>

组件通信

父组件传递 props:

简单实现vue

<ChildComponent :message="parentMessage" />

子组件接收:

<script setup>
defineProps({
  message: String
});
</script>

状态管理(Pinia)

安装 Pinia:

npm install pinia

创建 store:

// stores/counter.js
import { defineStore } from 'pinia';

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

组件中使用:

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

const counter = useCounterStore();
</script>

标签: 简单vue
分享给朋友:

相关文章

vue实现多级弹窗

vue实现多级弹窗

Vue 多级弹窗实现方法 方法一:使用动态组件与递归组件 在 Vue 中可以通过动态组件配合递归组件实现多级弹窗。定义一个基础弹窗组件,通过递归调用自身实现层级嵌套。 基础弹窗组件模板示例:…

vue实现多个tab

vue实现多个tab

Vue 实现多个 Tab 的方法 使用动态组件切换 在 Vue 中可以通过动态组件 <component :is="currentTab"> 结合 v-for 和 v-bind 实现多个…

vue实现上移下移插件

vue实现上移下移插件

实现上移下移功能的 Vue 插件 在 Vue 中实现列表项的上移和下移功能,可以通过自定义指令或组件封装的方式完成。以下是两种常见实现方式: 基于数组操作的通用方法 通过操作数组索引实现元素位置交…

vue实现setinterval

vue实现setinterval

在 Vue 中使用 setInterval Vue 中可以通过生命周期钩子和方法结合 setInterval 实现定时任务。以下是一个完整的实现示例: <template> <…

vue路由实现

vue路由实现

Vue 路由实现 Vue Router 是 Vue.js 的官方路由管理器,用于构建单页面应用(SPA)。以下是 Vue Router 的基本实现步骤和核心功能。 安装 Vue Router 通过…

vue实现dag

vue实现dag

Vue实现DAG(有向无环图) 在Vue中实现DAG(Directed Acyclic Graph,有向无环图)通常涉及数据结构的建模、可视化渲染以及交互逻辑处理。以下是关键实现步骤和示例代码:…