当前位置:首页 > 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 中实现表格可以通过多种方式完成,以下是几种常见的方法: 使用原生 HTML 表格 Vue 可以直接渲染原生 HTML 表格,通过 v-for 动态生成表格行和列…

vue实现年历

vue实现年历

Vue 实现年历的方法 使用 Vue 实现年历可以通过组件化开发方式,结合日期计算和动态渲染完成。以下是两种常见的实现方式: 基于原生 Vue 的日历组件 创建 Calendar.vue 组件文件,…

vue 移动端实现签名

vue 移动端实现签名

Vue 移动端签名实现方法 在移动端实现签名功能,可以通过HTML5的Canvas结合触摸事件完成。以下是具体实现步骤: 使用Canvas绘制签名 安装vue-signature-pad插件或直接使…

vue怎么实现数据检测

vue怎么实现数据检测

Vue 数据检测的实现方式 Vue 通过响应式系统实现数据检测,核心机制基于 Object.defineProperty(Vue 2)或 Proxy(Vue 3)。以下是具体实现方法: 基于 Vu…

vue实现3d宇宙

vue实现3d宇宙

Vue实现3D宇宙效果 使用Three.js库 Three.js是一个强大的JavaScript 3D库,可以轻松集成到Vue项目中。安装Three.js依赖: npm install three…

vue实现下拉刷新组件

vue实现下拉刷新组件

实现下拉刷新组件的核心思路 下拉刷新功能通常通过监听触摸事件、滚动位置和动画效果实现。Vue中可以利用自定义指令或封装组件完成,以下为两种常见实现方式。 基于自定义指令的实现 创建指令监听触摸事件,…