当前位置: 首页 > wzjs >正文

宝安网站开发谷歌代理

宝安网站开发,谷歌代理,wordpress 修改id,24小时有效地址域名Vue 3 的组合式 API 组合式 API 是 Vue 3 的核心特性之一,它允许开发者将组件的逻辑拆分为可复用的函数。组合式 API 的主要特点是 逻辑复用:将逻辑提取到独立的函数中,方便在多个组件中复用。组织清晰:将相关的逻辑分组&#x…

Vue 3 的组合式 API

组合式 API 是 Vue 3 的核心特性之一,它允许开发者将组件的逻辑拆分为可复用的函数。组合式 API 的主要特点是

  • 逻辑复用:将逻辑提取到独立的函数中,方便在多个组件中复用。
  • 组织清晰:将相关的逻辑分组,而不是将逻辑分散到 data、methods、computed 等选项中。
  • 更接近函数式编程:通过函数组合的方式组织代码。

在 Vue 3 中,自定义 Hooks 是通过组合式 API 的 ref、reactive、watch、computed 等函数实现的

  • 基本的自定义 Hook
// useCounter.ts
import { ref } from 'vue';
export function useCounter(initialValue = 0) {const count = ref(initialValue);const increment = () => {count.value++;};const decrement = () => {count.value--;};return { count, increment, decrement };
}

在组件中使用:

<script setup>
import { useCounter } from './useCounter';const { count, increment, decrement } = useCounter(10);
</script><template><div><p>Count: {{ count }}</p><button @click="increment">Increment</button><button @click="decrement">Decrement</button></div>
</template>
  • 路由跳转
// useNavigation.ts
import { RouteLocationRaw } from 'vue-router'
import { useRouter } from 'vue-router'export function useNavigation() {const router = useRouter()// 基本跳转const navigateTo = (to: RouteLocationRaw) => {return router.push(to)}// 替换当前路由const replaceRoute = (to: RouteLocationRaw) => {return router.replace(to)}// 返回上一页const goBack = (delta = -1) => {router.go(delta)}// 前进const goForward = () => {router.go(1)}return {navigateTo,replaceRoute,goBack,goForward,router}
}

在组件中使用示例

<script setup lang="ts">
import { useNavigation } from '@/hooks/useNavigation'const {navigateTo,replaceRoute,goBack,goForward
} = useNavigation()// 路径跳转
const gotoHome = () => {navigateTo('/home')
}// 命名路由带参数
const gotoDetail = (id: string) => {navigateTo({name: 'Detail',params: { id }})
}// 带查询参数
const gotoSearch = (keyword: string) => {navigateTo({path: '/search',query: { q: keyword }})
}// 替换当前路由
const replaceToLogin = () => {replaceRoute('/login')
}
</script><template><button @click="gotoHome">首页</button><button @click="gotoDetail('123')">详情页</button><button @click="goBack">返回</button>
</template>
  • 消息提示hooks
/useMessage.ts
import { ElMessage, ElMessageBox, ElNotification } from 'element-plus'
import { useI18n } from './useI18n'
export const useMessage = () => {const { t } = useI18n()return {// 消息提示info(content: string) {ElMessage.info(content)},// 错误消息error(content: string) {ElMessage.error(content)},// 成功消息success(content: string) {ElMessage.success(content)},// 警告消息warning(content: string) {ElMessage.warning(content)},// 弹出提示alert(content: string) {ElMessageBox.alert(content, t('common.confirmTitle'))},// 错误提示alertError(content: string) {ElMessageBox.alert(content, t('common.confirmTitle'), { type: 'error' })},// 成功提示alertSuccess(content: string) {ElMessageBox.alert(content, t('common.confirmTitle'), { type: 'success' })},// 警告提示alertWarning(content: string) {ElMessageBox.alert(content, t('common.confirmTitle'), { type: 'warning' })},// 通知提示notify(content: string) {ElNotification.info(content)},// 错误通知notifyError(content: string) {ElNotification.error(content)},// 成功通知notifySuccess(content: string) {ElNotification.success(content)},// 警告通知notifyWarning(content: string) {ElNotification.warning(content)},// 确认窗体confirm(content: string, tip?: string) {return ElMessageBox.confirm(content, tip ? tip : t('common.confirmTitle'), {confirmButtonText: t('common.ok'),cancelButtonText: t('common.cancel'),type: 'warning'})},// 删除窗体delConfirm(content?: string, tip?: string) {return ElMessageBox.confirm(content ? content : t('common.delMessage'),tip ? tip : t('common.confirmTitle'),{confirmButtonText: t('common.ok'),cancelButtonText: t('common.cancel'),type: 'warning'})},// 导出窗体exportConfirm(content?: string, tip?: string) {return ElMessageBox.confirm(content ? content : t('common.exportMessage'),tip ? tip : t('common.confirmTitle'),{confirmButtonText: t('common.ok'),cancelButtonText: t('common.cancel'),type: 'warning'})},// 提交内容prompt(content: string, tip: string) {return ElMessageBox.prompt(content, tip, {confirmButtonText: t('common.ok'),cancelButtonText: t('common.cancel'),type: 'warning'})}}
}
http://www.dtcms.com/wzjs/471580.html

相关文章:

  • 重庆好的网站建设新产品的推广销售方法
  • 水务 网站建设太原互联网推广公司
  • 想学网站制作官方百度
  • 古风自己做头像的网站广州30万人感染
  • 用php做网站的书籍今日最新国际新闻头条
  • 电商网站开发平台山东做网站
  • 地方门户网站用户江阴网站优化公司
  • 中小企业 网站建设手机百度2020最新版
  • wordpress添加底部友情链接夫唯seo教程
  • 温州网站建设接单百度推广怎么做最好
  • 什么是灰色网站网络运营是什么意思
  • 长沙网站设计阿里云域名
  • 内部网站建设百度推广管理平台
  • 怎么建设网站规划湖南seo优化哪家好
  • 建设网站的好处有哪些b2b外链代发
  • 武汉网站建设索q.479185700seo求职
  • 佛山网站制作哪家便宜制作免费个人网站
  • 南开网站建设嘉兴seo外包公司费用
  • 公司网站是用什么软件做宁波seo推广公司排名
  • 网站调用微信数据排名前十的小说
  • 深圳建网站哪通过qq群可以进行友情链接交换
  • 酒类销售公司的网站建设网页制作app手机版
  • ui特效网站广东seo价格是多少钱
  • 做农家乐网站厦门人才网597人才网
  • 动画制作需要什么软件seo建站工具
  • b2c网站制作百度快照是干嘛的
  • 哈尔滨 高端网站建设万网域名注册官网查询
  • 网站备案 拍照网点网络营销策划活动方案
  • 17网站一起做网店普宁香港街营销策划案的模板
  • 专业的网站开发正规的关键词优化软件