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

相关推荐
ew452182 小时前
ElementUI表格表头自定义添加checkbox,点击选中样式不生效
前端·javascript·elementui
画月的亮2 小时前
element-ui 使用过程中遇到的一些问题及解决方法
javascript·vue.js·ui
Moon.92 小时前
el-table的hasChildren不生效?子级没数据还显示箭头号?树形数据无法展开和收缩
前端·vue.js·html
m0_526119402 小时前
点击el-dialog弹框跳到其他页面浏览器的滚动条消失了多了 el-popup-parent--hidden
javascript·vue.js·elementui
工业甲酰苯胺5 小时前
Vue3 基础概念与环境搭建
前端·javascript·vue.js
lyj1689975 小时前
el-tree选中数据重组成树
javascript·vue.js·elementui
lonelyhiker7 小时前
javascript的原型链
开发语言·javascript·原型模式
MarkHD9 小时前
第十六天 HarmonyOS WebView开发实战:从加载网页到与JavaScript交互
javascript·交互·harmonyos
柴柴的小记9 小时前
前端vue引入特殊字体不生效
前端·javascript·vue.js
bin915310 小时前
DeepSeek 助力 Vue 开发:打造丝滑的颜色选择器(Color Picker)
前端·javascript·vue.js·ecmascript·deepseek