Uniapp Vue3 基础知识点附带实例

包括数据绑定和计算属性、条件渲染和列表渲染、事件处理、表单输入处理、生命周期钩子、自定义指令和过滤器、路由和导航以及状态管理(如Vuex):

复制代码
<template>
  <div>
    <!-- 条件渲染 -->
    <div v-if="showMessage">Hello, {{ name }}</div>
    <div v-else>Welcome!</div>

    <!-- 列表渲染 -->
    <ul>
      <li v-for="(item, index) in items" :key="index">{{ item }}</li>
    </ul>

    <!-- 表单输入处理 -->
    <input v-model="message" placeholder="Enter your message" />
    <button @click="handleClick">Submit</button>

    <!-- 自定义指令和过滤器 -->
    <p v-custom-directive="'highlight'">This is a highlighted text.</p>
    <p>{{ message | customFilter }}</p>

    <!-- 路由和导航 -->
    <router-link to="/about">About</router-link>
    <router-view></router-view>

    <!-- 状态管理(Vuex) -->
    <store-component></store-component>
  </div>
</template>

<script setup>
import { ref, computed } from 'vue';
import { useRouter } from 'vue-router';
import { useStore } from 'vuex';

// 数据绑定和计算属性
const name = ref('John Doe');
const showMessage = computed(() => name.value !== '');

// 事件处理
function handleClick() {
  console.log('Button clicked:', message.value);
}

// 路由和导航
const router = useRouter();
const navigateToAbout = () => {
  router.push('/about');
};

// 状态管理(Vuex)
const store = useStore();
const getCount = () => store.state.count;
const incrementCount = () => store.dispatch('increment');

请注意,上述代码中的v-custom-directive是一个自定义指令,你需要在Vue应用中定义该指令。同样,customFilter也是一个自定义过滤器,你需要在Vue应用中定义该过滤器。此外,store-component是一个Vue组件,用于演示Vuex的使用,你需要在Vue应用中定义该组件。

相关推荐
li35741 小时前
将已有 Vue 项目通过 Electron 打包为桌面客户端的完整步骤
前端·vue.js·electron
Icoolkj1 小时前
VuePress 与 VitePress 深度对比:特性、差异与选型指南
前端·javascript·vue.js
^Rocky3 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化
西陵3 小时前
Nx带来极致的前端开发体验——任务编排
前端·javascript·架构
笑鸿的学习笔记3 小时前
JavaScript笔记之JS 和 HTML5 的关系
javascript·笔记·html5
萌萌哒草头将军5 小时前
10个 ES2025 新特性速览!🚀🚀🚀
前端·javascript·vue.js
gnip5 小时前
http缓存
前端·javascript
JohnYan6 小时前
工作笔记 - 微信消息发送和处理
javascript·后端·微信
陈陈爱java7 小时前
Spring八股文
开发语言·javascript·数据库
@大迁世界7 小时前
用 popover=“hint“ 打造友好的 HTML 提示:一招让界面更“懂人”
开发语言·前端·javascript·css·html