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

相关推荐
爱吃甜品的糯米团子23 分钟前
详解 JavaScript 内置对象与包装类型:方法、案例与实战
java·开发语言·javascript
华仔啊25 分钟前
JavaScript + Web Audio API 打造炫酷音乐可视化效果,让你的网页跟随音乐跳起来
前端·javascript
程序定小飞1 小时前
基于springboot的学院班级回忆录的设计与实现
java·vue.js·spring boot·后端·spring
是你的小橘呀1 小时前
深入理解 JavaScript 预编译:从原理到实践
前端·javascript
攀小黑1 小时前
基于若依-内容管理动态修改,通过路由字典配置动态管理
java·vue.js·spring boot·前端框架·ruoyi
风止何安啊1 小时前
栈与堆的精妙舞剧:JavaScript 数据类型深度解析
前端·javascript
用户47949283569151 小时前
Chrome DevTools MCP:让 AI 助手直接操作浏览器开发工具
前端·javascript·chrome
糖糖2462 小时前
uniapp + uni-ui + vue3转cli
uni-app
Rysxt_2 小时前
Vuex 教程 从入门到实践
前端·javascript·vue.js
多秋浮沉度华年2 小时前
uni-app开发app移动端使用ucharts自定义标签栏Tooltip
uni-app