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

相关推荐
尘世中一位迷途小书童2 小时前
用 Cesium 撸了一个森林火情监控大屏,弧线、粒子、发光效果都齐了
前端·javascript
先吃饱再说4 小时前
JavaScript中`this` 的“千层套路”:从默认绑定到箭头函数的五种指向
javascript
foxire4 小时前
基于nodejs实现服务端内核引擎
javascript
锋行天下5 小时前
半秒开!还有谁!!!
前端·vue.js·架构
触底反弹6 小时前
🧠 搞懂 Token,才算真正入门大模型——从分词原理到 Embedding 语义实战
javascript·人工智能·算法
free356 小时前
AST Interpreter 的设计:为什么分 evaluate() 和 execute()
javascript
JING小白6 小时前
Day 1 重学Vue:响应式系统的“底层逻辑”变更,Vue2旧时代的终结与Vue3新时代的开启
前端·vue.js
等咸鱼的狸猫7 小时前
JavaScript 隐式类型转换:从入门到精通
javascript
kyriewen9 小时前
我用 Codex 重写了同事维护三年的代码,他没说谢谢——而是找了领导
前端·javascript·ai编程
OpenTiny社区10 小时前
从零开发 AI 聊天页要两周?试试这款 Vue3 垂直对话组件库 TinyRobot,直接开箱即用
前端·vue.js·github