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

天河门户网站建设公司seo网站排名优化价格

天河门户网站建设公司,seo网站排名优化价格,wordpress本地写文章,衡水市住房和城乡建设局网站个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

个人简介

👀个人主页: 前端杂货铺
🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展
📃个人状态: 研发工程师,现效力于中国工业软件事业
🚀人生格言: 积跬步至千里,积小流成江海
🥇推荐学习:🍍前端面试宝典 🎨100个小功能 🍉Vue2 🍋Vue3 🍓Vue2/3项目实战 🥝Node.js实战 🍒Three.js

🌕个人推广:每篇文章最下方都有加入方式,旨在交流学习&资源分享,快加入进来吧

文章目录

    • 前言
    • route 路由
    • 路由的 props 配置
    • replace 属性
    • 编程式路由导航
    • 重定向

前言

重拾 Vue3,查缺补漏、巩固基础。

route 路由

路由的配置放在 ./route/index.ts 文件中

import { createRouter, createWebHistory } from "vue-router";import Home from "@/pages/Home.vue";
import About from "@/pages/About.vue";
import News from "@/pages/News.vue";
import Detail from "@/pages/Detail.vue";// 创建路由器
const router = createRouter({history: createWebHistory(), // history 路由模式routes: [{path: "/home",component: Home,},{path: "/About",component: About,},{name: "news",path: "/news",component: News,children: [{name: "detail",path: "detail/:id/:title/:context?",component: Detail,},],},],
});export default router;

要想使用路由,需要在 main.ts 中添加如下配置,把 router 挂在到 App 上

import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";const app = createApp(App);app.use(router);
app.mount("#app");

下面我们创建一套路由规则,点击 首页 / 新闻 / 关于 跳转到相应的页面,基于 新闻 页面,再进行 点击新闻,显示相应的内容,即路由的嵌套

下面是 App.vue 组件的代码

  1. 通过 to 来跳转到指定路由,可以使用 path 或 name(path/,name 不带)
  2. RouterView 是路由内容的显示区域,将来会显示 首页 / 新闻 / 关于 的相关内容
<template><div><h2>路由Test</h2><div><RouterLink to="/home">首页 </RouterLink><RouterLink :to="{ name: 'news' }">新闻 </RouterLink><RouterLink :to="{ path: '/about' }">关于</RouterLink></div><div class="show-area"><RouterView /></div></div>
</template><script lang="ts" setup>
import { RouterView } from "vue-router";
</script><style scoped>
.show-area {margin-top: 20px;height: 200px;border: 1px solid black;
}
</style>

下面是 Home.vue 组件的相关代码

<template><div>主页 | Home</div>
</template><script setup lang="ts"></script>

下面是 About.vue 组件的相关代码

<template><div>关于:这里是前端杂货铺...</div>
</template><script setup lang="ts"></script>

下面是 News.vue 组件的相关代码,使用了四种方法进行传参

使用 params 传参时不能使用 path,只能使用 name;在路由配置中也需要进行占位;参数不能传递对象或数组

<template><div><ul><li v-for="news in newsList" :key="news.id"><!-- 1、使用拼接的方式传递参数 --><!-- <RouterLink:to="`/news/detail?id=${news.id}&title=${news.title}&context=${news.context}`">{{ news.title }}</RouterLink> --><!-- 2、query参数 --><!-- <RouterLink:to="{name: 'detail',query: {id: news.id,title: news.title,context: news.context,},}">{{ news.title }}</RouterLink> --><!-- 3、这种编写方式需要 ./router/index.ts 中做配合(path: "detail/:id/:title/:context?")说明:? 表示可传可不传 --><!-- <RouterLink:to="`/news/detail/${news.id}/${news.title}/${news.context}`">{{ news.title }}</RouterLink> --><!-- 4、params参数 --><RouterLink:to="{name: 'detail',params: {id: news.id,title: news.title,context: news.context,},}">{{ news.title }}</RouterLink></li></ul><div><RouterView /></div></div>
</template><script setup lang="ts">
import { reactive } from "vue";
import { RouterView } from "vue-router";// title 代表新闻标题,context 代表新闻内容
let newsList = reactive([{ id: "1", title: "震惊长安第一拳", context: "是裴擒虎!" },{ id: "2", title: "什么都吃,就是不吃兔子", context: "是老猪!" },{id: "3",title: "收藏了视频,就要对它负责,这是真男人的勋章",context: "是程咬金!",},
]);
</script>

下面是 Detail.vue 组件的相关代码,用于显示新闻的内容

<template><ul><!-- <li>{{ query.id }}</li><li>{{ query.title }}</li><li>{{ query.context }}</li> --><li>{{ params.id }}</li><li>{{ params.title }}</li><li>{{ params.context }}</li></ul>
</template><script setup lang="ts">
import { toRefs } from "vue";
import { useRoute } from "vue-router";
const route = useRoute();// query 传参的接收方式
// const { query } = toRefs(route);// params 传参的接收方式
const { params } = toRefs(route);
</script>

以下是相关显示效果:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


路由的 props 配置

作用是为了让路由组件更方便的收到参数(可以将路由参数作为 props 传给组件)

修改 ./router/index.ts 组件的 news 路由相关代码

    {name: "news",path: "/news",component: News,children: [{name: "detail",// path: "detail/:id/:title/:context?", // 使用 params 传参时配置path: "detail",component: Detail,// 将路由收到的所有 params 参数作为 props 传给路由组件//   props: true,// 自己决定将什么作为 props 给路由组件props(route) {return route.query;},},],},

修改 Detail.vue 组件的相关代码

<template><ul><!-- <li>{{ query.id }}</li><li>{{ query.title }}</li><li>{{ query.context }}</li> --><!-- <li>{{ params.id }}</li><li>{{ params.title }}</li><li>{{ params.context }}</li> --><li>{{ id }}</li><li>{{ title }}</li><li>{{ context }}</li></ul>
</template><script setup lang="ts">
import { toRefs } from "vue";
import { useRoute } from "vue-router";
const route = useRoute();// query 传参的接收方式
// const { query } = toRefs(route);// params 传参的接收方式
// const { params } = toRefs(route);defineProps(["id", "title", "context"]);
</script>

replace 属性

replace 用于控制路由跳转时操作浏览器历史记录的模式

  • push模式:追加历史记录(默认)
  • replace模式:替换当前记录

写法很简单,直接在 RouterLink 标签中添加 replace 即可

<RouterLink replace ...>xxx</RouterLink>

编程式路由导航

除了使用 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现

接下来,我们修改 Detail.vue 组件的相关代码,实现通过点击按钮的方式实现路由的跳转

<template><div><ul><li v-for="news in newsList" :key="news.id"><button @click="showNewsDetails(news)">查看新闻详情</button><!-- params参数 --><RouterLink:to="{name: 'detail',params: {id: news.id,title: news.title,context: news.context,},}">{{ news.title }}</RouterLink></li></ul><div><RouterView /></div></div>
</template><script setup lang="ts">
import { reactive } from "vue";
import { useRouter, RouterView } from "vue-router";// title 代表新闻标题,context 代表新闻内容
let newsList = reactive([{ id: "1", title: "震惊长安第一拳", context: "是裴擒虎!" },{ id: "2", title: "什么都吃,就是不吃兔子", context: "是老猪!" },{id: "3",title: "收藏了视频,就要对它负责,这是真男人的勋章",context: "是程咬金!",},
]);const router = new useRouter();interface NewsInter {id: string;title: string;context: string;
}function showNewsDetails(news: NewsInter) {router.push({name: "detail",params: {id: news.id,title: news.title,context: news.context,},});
}
</script>

在这里插入图片描述


重定向

当网站打开时,默认指定一个路由地址。如下, 项目启动打开时,默认重定向到 /home 路由

    {path: "/",redirect: "/home",},

在这里插入图片描述


参考资料:
https://www.bilibili.com/video/BV1Za4y1r7KE?spm_id_from=333.788.videopod.episodes&vd_source=f839085517d2b7548b2939bfe214d466&p=42

在这里插入图片描述


http://www.shuangfujiaoyu.com/news/2918.html

相关文章:

  • web网站开发 控件 图片windows优化大师是官方的吗
  • 做建站较好的网站免费com域名申请注册
  • 做网站 阿里云小程序开发
  • 什么网站可以做论坛app网站优化查询
  • 怎样看一个网站是不是织梦做的市场推广计划方案模板
  • 在线生成个人网站推荐株洲seo优化报价
  • 做网站竞争大吗百度站长工具网站
  • 如何做企业网站内链上海seo公司排名榜
  • 商赢网站建设seo的中文含义是什么
  • 凯里网站开发gzklyyseo外链在线提交工具
  • 一般网站用什么软件做经典软文案例或软文案例
  • 举报网站制度建设方面seo网站优化怎么做
  • 企业官网建站步骤发布推广信息的网站
  • 西宁网站建设哪家公司好有链接的网站
  • 商业网站建设咨询中国互联网协会官网
  • 网站开发公司名字百度推广管理系统
  • 做乡镇网站广告营销案例100例
  • dede自适应网站注意事项爆款采集推广引流软件
  • 网站域名 没有续费品牌推广服务
  • aaaa景区网站建设标准app推广软件有哪些
  • 开一个网站需要什么手续黄页88网站推广效果
  • 北京网站推广北京谷歌seo公司
  • 网站怎样免费推广手机搭建网站
  • 网站制作专家谷歌商店下载官方正版
  • 长沙网站建设公司哪家好军事新闻
  • 网站首页滚动图片windows优化大师官方网站
  • 专业科技网站建设外贸网站优化推广
  • 下载网站上的表格 怎么做头条号权重查询
  • 做网站 属于电子商务个人如何加入百度推广
  • 怎样能在百度上搜索到自己的店铺seo搜索引擎优化工资薪酬