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应用中定义该组件。

相关推荐
小小善后师13 分钟前
用 Canvas + AI 实现登录页的 Logo 粒子动画
前端·vue.js
0nirvana022 分钟前
从普通 script 到 ESM:一文搞懂 JavaScript 模块、IIFE 和 window
javascript
wshzd1 小时前
LLM之Agent(104)|DeepSeek-Harness(十三)ReactLoopAgent 总览:kick → turn → step
开发语言·前端·javascript
web打印社区2 小时前
远程打印:WebSocket 与 HTTP 轮询怎么选
前端·vue.js·websocket·网络协议·http·electron·pdf
天天喝旺仔3 小时前
浏览器渲染原理:从解析 HTML/CSS、构建渲染树到重排重绘与首屏优化
前端·javascript·css·性能优化·html
Days20504 小时前
时间胶囊项目正式发布
javascript·gpt·php
朱 欢 庆4 小时前
el-table-v2 虚拟表格组件
前端·javascript·vue.js
OpsEye4 小时前
企业大模型用量成本该如何监控和管控?
javascript·ai编程
杨利杰YJlio4 小时前
ITSK 万能驱动 26V5:新驱动批量更新
前端·javascript·后端
y = xⁿ5 小时前
关于Agent智能体开发
开发语言·前端·javascript