当前位置:首页 > VUE

vue页面实现

2026-03-07 02:18:49VUE

Vue 页面实现基础步骤

创建 Vue 页面需要安装 Vue 环境、编写组件模板、定义逻辑与样式。以下是具体实现方式:

环境准备 确保已安装 Node.js 和 npm/yarn,通过 Vue CLI 或 Vite 初始化项目:

npm init vue@latest  # Vue CLI
npm create vite@latest  # Vite

单文件组件结构 Vue 页面通常以 .vue 文件组织,包含 <template>, <script>, <style> 三个部分:

<template>
  <div class="page-container">
    <h1>{{ title }}</h1>
    <button @click="handleClick">点击</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      title: 'Vue 页面示例'
    }
  },
  methods: {
    handleClick() {
      console.log('按钮被点击');
    }
  }
}
</script>

<style scoped>
.page-container {
  padding: 20px;
}
</style>

路由配置实现多页面

安装 Vue Router

npm install vue-router

路由定义示例src/router/index.js 中配置路径与组件映射:

import { createRouter, createWebHistory } from 'vue-router';
import HomePage from '../views/HomePage.vue';
import AboutPage from '../views/AboutPage.vue';

const routes = [
  { path: '/', component: HomePage },
  { path: '/about', component: AboutPage }
];

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

export default router;

路由视图占位 在根组件 App.vue 中添加 <router-view>

<template>
  <router-view />
</template>

状态管理(Vuex/Pinia)

Pinia 基础用法 安装 Pinia 并创建 store:

npm install pinia

定义 Store

vue页面实现

// 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>

<template>
  <button @click="counter.increment">
    {{ counter.count }}
  </button>
</template>

响应式数据处理

组合式 API 示例 使用 refreactive 管理状态:

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

const count = ref(0);
const user = reactive({
  name: 'Alice',
  age: 25
});

function increaseAge() {
  user.age++;
}
</script>

生命周期钩子使用

常用生命周期

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

onMounted(() => {
  console.log('组件挂载完成');
});

onUnmounted(() => {
  console.log('组件卸载');
});
</script>

组件间通信

Props 传递数据 父组件传递:

vue页面实现

<ChildComponent :message="parentMessage" />

子组件接收:

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

事件发射 子组件触发:

<button @click="$emit('notify')">通知</button>

父组件监听:

<ChildComponent @notify="handleNotify" />

样式与作用域

Scoped CSS 限定样式作用域:

<style scoped>
.button {
  /* 仅影响当前组件 */
}
</style>

CSS 模块化 通过模块名引用:

<template>
  <div :class="$style.redText">文本</div>
</template>

<style module>
.redText {
  color: red;
}
</style>

标签: 页面vue
分享给朋友:

相关文章

vue原型实现

vue原型实现

Vue 原型实现的关键点 Vue.js 的原型系统是其响应式机制的核心部分,通过原型链实现数据的动态绑定和依赖收集。以下是实现 Vue 原型的主要技术要点。 数据响应式原理 Vue 通过 Objec…

vue实现主题

vue实现主题

Vue 实现主题的方法 使用 CSS 变量动态切换主题 定义全局 CSS 变量,通过修改这些变量实现主题切换。在 Vue 的根组件或全局样式中定义变量: :root { --primary-co…

vue实现高亮

vue实现高亮

Vue 实现文本高亮的方法 在 Vue 中实现文本高亮可以通过多种方式完成,以下是几种常见的方法: 方法一:使用 v-html 指令 通过 v-html 指令可以动态插入 HTML 内容,将需要高…

vue实现标签

vue实现标签

Vue 实现标签的方法 在 Vue 中实现标签功能可以通过多种方式完成,以下是几种常见的方法: 使用动态组件 动态组件可以根据不同的条件渲染不同的标签内容。通过 :is 属性动态绑定组件名,实现标签…

vue 实现列表

vue 实现列表

Vue 实现列表的方法 在 Vue 中实现列表通常使用 v-for 指令,结合数组或对象数据渲染动态列表。以下是几种常见的实现方式: 基础列表渲染 使用 v-for 指令遍历数组,渲染列表项。ite…

vue compile 实现

vue compile 实现

Vue 编译实现原理 Vue 的编译过程将模板字符串转换为渲染函数,主要分为解析、优化和代码生成三个阶段。 解析阶段(Parse) 将模板字符串转换为抽象语法树(AST)。Vue 使用正则表达式和有…