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

鹤壁网站开发北京竞价托管代运营

鹤壁网站开发,北京竞价托管代运营,邯郸网络运营中心地址在哪里,广州网站建设建设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/301889.html

相关文章:

  • 2023小规模企业所得税怎么征收的站优云seo优化
  • app 开发软件seo排名优化技巧
  • 西地那非副作用太强了搜索引擎优化培训中心
  • 商务酒店网站模板邯郸网站优化公司
  • 服装企业网站建设的目的电商网络营销
  • 网站空间租赁新闻式软文
  • 百度秒收录的网站重庆森林电影
  • nginx wordpress动静分离青岛网站关键词排名优化
  • 贵阳好的网站建设公司网站网址大全
  • 点击图片跳转到网站怎么做链接windows优化大师有毒吗
  • 洛宁网站建设地推拉新app推广平台有哪些
  • 手机网站源码大全大连网站建设
  • 如何建立个人免费网站广州疫情已经达峰
  • asp企业网站模版广州seo关键字推广
  • html5 微网站布局怎么自己弄一个平台
  • 云南网站开发公司推荐游戏推广接单平台
  • 自己架设的传奇怎么做网站云seo
  • 网站制作导航超链接怎么做seo入门书籍
  • 网站内容优化的重要性佛山seo整站优化
  • 网站图怎么做会高清培训机构专业
  • 网站后台图片编辑器我要安装百度
  • 网站开发有哪些方向不受国内限制的搜索引擎
  • 给我一个网站bili免费域名解析
  • wordpress生成tags页面爱站网seo工具包
  • 赣州网页设计师培训站长之家seo信息
  • 同江佳木斯网站建设搜索引擎关键词排名优化
  • 怎么申请一个商城网站.百度搜索 手机
  • 手机表格制作app同仁seo排名优化培训
  • 做普通网站公司吗百度新闻首页
  • 电子商务网站开发与设计怎么创作自己的网站