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

代理记账公司利润大吗热狗seo外包

代理记账公司利润大吗,热狗seo外包,html制作网页的代码,网站系统分析的主要任务包括文章目录 一、路由的基本使用二、路由器的工作模式三、RouterLink中to的两种写法四、嵌套路由五、路由传参1. query传参2. params传参 六、路由的propos配置七、编程式路由导航 一、路由的基本使用 安装:npm i vue-router 在src/pages文件下,创建三个路…

文章目录

  • 一、路由的基本使用
  • 二、路由器的工作模式
  • 三、RouterLink中to的两种写法
  • 四、嵌套路由
  • 五、路由传参
    • 1. query传参
    • 2. params传参
  • 六、路由的propos配置
  • 七、编程式路由导航

一、路由的基本使用

  1. 安装:npm i vue-router

  2. src/pages文件下,创建三个路由组件(Home\About\News,具体内容不写了)

  3. 创建路由器(src/routers/index.ts)

    // 创建一个路由器并暴露出去
    // 1. 引入createRouter
    import { createRouter,createWebHistory } from "vue-router";// 2. 引入路由组件
    import Home from '../pages/Home.vue'
    import About from '../pages/About.vue'
    import News from '../pages/News.vue'// 3. 创建一个路由器
    const router = createRouter({history:createWebHistory(), // 必须指定路由工作模式routes:[// 重定向,不加重定向,会报警告 No match found for location with path "/"{path:'/',redirect:'/home'},// 通过name属性,给路由命名{name:'/shouye',path:'/home',component:Home},{name:'xinwen',path:'/news',component:News},{name:'guanyu',path:'/about',component:About}]
    })
    export default router
    
  4. main.ts中引入路由器

    // 引入createApp用于创建应用
    import { createApp } from "vue"
    // 引入App根组件
    import App from "./App.vue"
    // 引入路由器
    import router from './router'
    // 创建一个应用
    const app = createApp(App)
    // 使用路由器
    app.use(router)
    // 挂载整个应用到app容器中
    app.mount("#app")
    
  5. App组件中使用路由组件
    RouterLinkRouterView的作用与vue2中的router-link,router-view的作用一样。
    active-class绑定组件激活时的样式。当组件激活时(active的样式还是要自己写),会自动添加样式active

    <template><div class="app"><h2 class="title">Vue路由测试</h2><!-- 导航区 --><div class="navigate"><RouterLink to="/home" active-class="active">首页</RouterLink><RouterLink to="/news" active-class="active">新闻</RouterLink><RouterLink to="/about" active-class="active">关于</RouterLink></div><!-- 展示区 --><div class="main-content"><RouterView></RouterView></div></div>
    </template>
    <script lang="ts" setup name="App">
    import { RouterLink, RouterView } from 'vue-router'  
    </script>
    <style>.navigate a.active {background-color: #64967E;color: #ffc268;font-weight: 900;text-shadow: 0 0 1px black;font-family: 微软雅黑;
    }
    </style>
    

    在这里插入图片描述

  1. 路由组件通常存放在pagesviews文件夹,一般组件通常存放在components文件夹。
  2. 点击首页,首页组件挂载,展示首页组件内容。再点击新闻,新闻组件挂载并显示该组件内容。首页组件则默认被卸载(onUnmounted)
  3. 重定向: 将特定的路径,重新定向到已有路由。否则页面一打开,路径是/,不对应任何路由组件,页面会空白
  4. 通过name属性,给路由命名

二、路由器的工作模式

与vue2中的工作模式一样,就是设置模式的方式不一样;Vue(十三) 路由器的两种工作模式

  1. history模式

    优点:URL更加美观,不带有#

    缺点:后期项目上线,需要服务端配合处理路径问题,否则刷新会有404错误。

    const router = createRouter({history:createWebHistory(), //history模式/******/
    })
    
  2. hash模式

    优点:兼容性更好,因为不需要服务器端处理路径。

    缺点:URL带有#不太美观,且在SEO优化方面相对较差。

    const router = createRouter({history:createWebHashHistory(), //hash模式/******/
    })
    

三、RouterLink中to的两种写法

<!-- 字符串写法 -->
<RouterLink to="/about" active-class="active">关于</RouterLink>
<!-- 对象写法 -->
<RouterLink :to="{ path: '/about' }" active-class="active">关于</RouterLink>
<RouterLink :to="{ name: '/guanyu' }" active-class="active">关于</RouterLink>

四、嵌套路由

在这里插入图片描述

  1. 创建路由组件 Detail.vue
  2. 配置路由规则 src/router/index.ts
 {name:'xinwen',path:'/news',component:News,children:[{name:'xiangqing'path:'detail', // 注意这里不用加'/'component:Detail}]},
  1. News组件:
<template><!-- 新闻 --><div class="news"><ul><li v-for=" n in news" :key="n.id"><RouterLink :to="'/news/detail'">{{ n.title }}</RouterLink></li></ul><!-- 展示区 --><div class="news-content"><RouterView></RouterView></div></div>
</template>

五、路由传参

无论点击展示区的哪个title,右边详情区的内容应该展示对应的信息。

1. query传参

传参的两种形式:

<!--src/pages/News.vue-->
<ul><li v-for=" n in news" :key="n.id"><!-- 第一种,字符串,用?拼接query参数 --><RouterLink :to="`/news/detail?id=${n.id}&title=${n.title}&content=${n.content}`">{{ n.title }}</RouterLink><!-- 第二种,对象写法 --><RouterLink :to="{path: '/news/detail',query: {id: n.id,title: n.title,content: n.content}}">{{ n.title }}</RouterLink></li>
</ul>

Detail组件接收参数

<template><ul class="news-list"><li>编号:{{ query.id }}</li><li>标题:{{ query.title }}</li><li>内容:{{ query.content }}</li></ul>
</template>
<script setup lang="ts" name="About">import { useRoute } from 'vue-router'import { toRefs } from 'vue'// 获取route信息let route = useRoute()console.log(route);// 解构出来不是响应式数据,需要通过toRefs将其转为响应式数据let { query } = toRefs(route)
</script>

可以看出route是个响应式数据
在这里插入图片描述

2. params传参

(1). 传递参数
params传参的两种写法

<ul><li v-for=" n in news" :key="n.id"><!-- 第一种,字符串 --><RouterLink :to="`/news/detail/${n.id}/${n.title}/${n.content}`">{{ n.title }}</RouterLink> <!-- 第二种, 对象写法,注意不可用path,需要用name属性指定路由 --><RouterLink :to="{name: 'xiangqing',params: {id: n.id,title: n.title,content: n.content}}">{{ n.title }}</RouterLink></li>
</ul>

需要提前占位,因为params参数属于路径的一部分。如果没占位,假设路径为:/news/detail/123/title/content;路由中没有这样的路径,就会报错。

  {name:'xinwen',path:'/news',component:News,children:[{name:'xiangqing',path:'detail/:id/:title/:content?',component:Detail}]},

?表示content这个参数可传可不传。

(2). 读取参数
在这里插入图片描述

注意点1:传递params参数时,若使用to的对象写法,必须使用name配置项,不能用path
注意点2:传递params参数时,需要提前在规则中占位。

六、路由的propos配置

这个在vue2中也说过。
propos属性的作用是少写重复项,让路由组件更方便的接收到参数。
Vue(十三) 路由器的propos配置

(1) 写法一: props:true,

  {name:'xinwen',path:'/news',component:News,children:[{name:'xiangqing',path:'detail/:id/:title/:content?',component:Detail,// 第一种写法,将路由收到的所有params参数传递给Detail组件.props:true,}]},

只适用于params参数,props:true时相当于这样传递参数:
<Detail id=xxx title=xxx content=xxx>

(2) 写法二:函数式写法

 children:[{name:'xiangqing',path:'detail',component:Detail,// 第二种写法,函数写法,传递params参数或者props参数props(route){return route.query}}]

(3) 写法三:固定值,不推荐

  props:{id:123,title:'tom',content:'tom and jerry'}

七、编程式路由导航

路由组件的两个重要的属性:$route$router变成了两个hooks

import { useRouter } from 'vue-router'
let router = useRouter()
// pushAPI,追加历史记录router.push({name: 'xiangqing',query: {id: n.id,title: n.title,content: n.content}})// replace,替换当前历史记录router.replace({... })

push里的值可声明式导航RouterLink里的to属性值一致。to的值可以怎么写,push等API里就可以怎么写。

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

相关文章:

  • 人防工程做资料的网站搜索引擎优化技术
  • 企业专业网站设计公公司网站推广费用
  • 业余做衣服的网站2024新闻热点事件
  • 冠县建设局网站seo网站
  • 怎么做自己网站里的资讯2023年小学生简短小新闻
  • 什么是网站评价郑州百度seo网站优化
  • 建设个电商平台网站需要多少钱广州网站seo推广
  • 番禺外贸网站建设宁波关键词优化排名工具
  • java ee只是做网站吗百度网盘电话人工服务
  • 独立网站电子商务公司广州做seo的公司
  • 公司网站门户建设包括哪些句容市网站seo优化排名
  • 网站首屏做多大seo实战培训机构
  • 网站建设中企动力强信息推广平台有哪些
  • 网站设计怎么做背景颜色谷歌外贸平台推广需要多少钱
  • 潍坊做网站中国搜索
  • 网站开发的技术手段有哪些网络营销成功的案例及其原因
  • 金融软件网站建设公司seo快速优化软件
  • 深圳住建官网廊坊优化技巧
  • 公司手机网站设计百度软件应用市场
  • 网站业务需求文档百度推广一年大概需要多少钱
  • 做一个web网站小吃培训
  • 网站重要组成部分uc浏览器网页版入口
  • 购物网站创业时是如何做宣传的房地产网站建设
  • 哪家做企业网站找片子有什么好的关键词
  • 2_网站建设的一般步骤包含哪些电商怎么做?如何从零开始学做电商赚钱
  • 网站建设图片设置百度账号登陆
  • 买个购物网站西安网站seo费用
  • 龙岩建筑公司有哪些关键词整站排名优化
  • php做网站常见实例福州seo公司排名
  • 青岛谁做网站多少钱免费做网站网站的软件