当前位置:首页 > VUE

vue实现的例子

2026-01-17 07:48:03VUE

以下是 Vue.js 实现常见功能的几个示例,涵盖基础到进阶场景:

vue实现的例子

基础数据绑定与事件处理

<template>
  <div>
    <input v-model="message" placeholder="输入内容">
    <p>{{ message }}</p>
    <button @click="reverseMessage">反转文本</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: ''
    }
  },
  methods: {
    reverseMessage() {
      this.message = this.message.split('').reverse().join('')
    }
  }
}
</script>

条件渲染与列表渲染

<template>
  <div>
    <ul>
      <li v-for="(item, index) in items" :key="index">
        {{ item.text }}
        <span v-if="item.completed">✓</span>
      </li>
    </ul>
    <button @click="show = !show">切换显示</button>
    <p v-show="show">动态显示的内容</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      items: [
        { text: '学习 Vue', completed: true },
        { text: '项目实践', completed: false }
      ],
      show: true
    }
  }
}
</script>

组件通信示例

父组件:

<template>
  <div>
    <ChildComponent 
      :title="parentTitle"
      @update-title="handleUpdate"
    />
  </div>
</template>

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

export default {
  components: { ChildComponent },
  data() {
    return {
      parentTitle: '初始标题'
    }
  },
  methods: {
    handleUpdate(newTitle) {
      this.parentTitle = newTitle
    }
  }
}
</script>

子组件:

<template>
  <div>
    <h3>{{ title }}</h3>
    <input v-model="localTitle">
    <button @click="updateTitle">更新标题</button>
  </div>
</template>

<script>
export default {
  props: ['title'],
  data() {
    return {
      localTitle: this.title
    }
  },
  methods: {
    updateTitle() {
      this.$emit('update-title', this.localTitle)
    }
  }
}
</script>

Vue 3 Composition API 示例

<template>
  <div>
    <p>计数: {{ count }}</p>
    <button @click="increment">增加</button>
    <p>计算属性: {{ doubled }}</p>
  </div>
</template>

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

export default {
  setup() {
    const count = ref(0)

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

    const doubled = computed(() => count.value * 2)

    return {
      count,
      increment,
      doubled
    }
  }
}
</script>

使用 Vue Router

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

状态管理 (Vuex)

// store.js
import { createStore } from 'vuex'

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

vue实现的例子

标签: 例子vue
分享给朋友:

相关文章

vue自己实现下拉导航

vue自己实现下拉导航

实现下拉导航的基本思路 在Vue中实现下拉导航,可以通过结合Vue的响应式数据和事件绑定特性来完成。主要思路是利用v-show或v-if控制下拉菜单的显示与隐藏,并通过鼠标事件或点击事件触发状态变化。…

vue权限实现

vue权限实现

Vue 权限实现方案 基于路由的权限控制 通过路由守卫实现权限验证,在路由配置中添加meta字段标记权限要求。在router.beforeEach中检查用户权限与路由要求的匹配情况。 // rout…

jquery实现vue

jquery实现vue

jQuery 和 Vue.js 是两种不同理念的前端工具,jQuery 以 DOM 操作和事件驱动为核心,而 Vue.js 是数据驱动的现代化框架。如果想用 jQuery 实现类似 Vue 的功能(如…

vue实现注销

vue实现注销

实现用户注销功能 在Vue应用中实现用户注销功能通常涉及清除用户会话、重置应用状态并跳转到登录页面。以下是具体实现方法: 清除用户认证信息 使用Vuex或Pinia管理用户状态时,需在注销时重置存储…

vue实现tap

vue实现tap

Vue 实现 Tap 事件 在移动端开发中,Tap 事件比 Click 事件更常用,因为 Click 事件有 300ms 延迟。以下是几种在 Vue 中实现 Tap 事件的方法。 使用第三方库 安…

vue实现xterm

vue实现xterm

在 Vue 中集成 Xterm.js Xterm.js 是一个基于 TypeScript 的前端终端组件库,可用于在浏览器中实现终端功能。以下是在 Vue 项目中集成 Xterm.js 的详细步骤。…