当前位置:首页 > VUE

vue实现代码实例

2026-02-23 01:02:13VUE

Vue 实现代码实例

以下是一些常见的 Vue 实现代码实例,涵盖基础语法、组件通信、状态管理等场景。

基础 Vue 实例

创建一个简单的 Vue 实例,绑定数据到模板:

<template>
  <div>
    <h1>{{ message }}</h1>
    <button @click="changeMessage">Change Message</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Vue!'
    }
  },
  methods: {
    changeMessage() {
      this.message = 'Message Changed!'
    }
  }
}
</script>

组件通信(父子组件)

父组件向子组件传递数据:

// ParentComponent.vue
<template>
  <div>
    <ChildComponent :message="parentMessage" @notify="handleNotify" />
  </div>
</template>

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

export default {
  components: { ChildComponent },
  data() {
    return {
      parentMessage: 'Message from parent'
    }
  },
  methods: {
    handleNotify(payload) {
      console.log('Received from child:', payload)
    }
  }
}
</script>

// ChildComponent.vue
<template>
  <div>
    <p>{{ message }}</p>
    <button @click="sendToParent">Send to Parent</button>
  </div>
</template>

<script>
export default {
  props: ['message'],
  methods: {
    sendToParent() {
      this.$emit('notify', { data: 'Hello from child' })
    }
  }
}
</script>

Vuex 状态管理

使用 Vuex 管理全局状态:

// store/index.js
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment(state) {
      state.count++
    }
  },
  actions: {
    incrementAsync({ commit }) {
      setTimeout(() => {
        commit('increment')
      }, 1000)
    }
  },
  getters: {
    doubleCount: state => state.count * 2
  }
})

// Component.vue
<template>
  <div>
    <p>Count: {{ count }}</p>
    <p>Double: {{ doubleCount }}</p>
    <button @click="increment">Increment</button>
    <button @click="incrementAsync">Increment Async</button>
  </div>
</template>

<script>
import { mapState, mapGetters, mapActions } from 'vuex'

export default {
  computed: {
    ...mapState(['count']),
    ...mapGetters(['doubleCount'])
  },
  methods: {
    ...mapActions(['increment', 'incrementAsync'])
  }
}
</script>

Vue Router 实现路由

配置基本路由:

// router/index.js
import Vue from 'vue'
import Router from 'vue-router'
import Home from '../views/Home.vue'
import About from '../views/About.vue'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'home',
      component: Home
    },
    {
      path: '/about',
      name: 'about',
      component: About
    }
  ]
})

// App.vue
<template>
  <div id="app">
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>
    <router-view></router-view>
  </div>
</template>

表单双向绑定

实现表单数据的双向绑定:

vue实现代码实例

<template>
  <div>
    <form @submit.prevent="handleSubmit">
      <input v-model="form.name" placeholder="Name">
      <input v-model="form.email" placeholder="Email">
      <button type="submit">Submit</button>
    </form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      form: {
        name: '',
        email: ''
      }
    }
  },
  methods: {
    handleSubmit() {
      console.log('Form submitted:', this.form)
    }
  }
}
</script>

这些实例涵盖了 Vue 开发中的常见场景,可以根据实际需求进行调整和扩展。

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

相关文章

vue 实现代码

vue 实现代码

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

react如何进行代码拆分

react如何进行代码拆分

代码拆分的必要性 React应用随着功能增加,打包后的文件体积会显著增长,影响页面加载速度。代码拆分将代码分割成多个小块,按需加载,优化性能。 动态导入(Dynamic Imports) 使用ES6…

如何运用一段react代码

如何运用一段react代码

运用 React 代码的步骤 安装 React 环境 确保已安装 Node.js 和 npm/yarn。通过以下命令创建 React 项目: npx create-react-app my-ap…

react实现批量新增代码

react实现批量新增代码

React 实现批量新增功能 批量新增功能通常涉及表单数据收集、状态管理和后端API交互。以下是实现步骤: 状态管理 使用React的useState或useReducer管理批量数据 const…

css制作代码

css制作代码

CSS 制作代码的基本方法 CSS(层叠样式表)用于控制网页的样式和布局。以下是一些常见的 CSS 制作代码的方法和技巧。 基础样式设置 通过选择器为 HTML 元素设置样式。例如,修改段落文字颜色…

css制作存放代码

css制作存放代码

使用CSS制作代码存放区域的几种方法 内联样式 直接在HTML元素的style属性中编写CSS代码,适用于简单样式调整。 <div style="background: #f5f5f5; pa…