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

手机版的网站怎么做少儿编程机构十大排名

手机版的网站怎么做,少儿编程机构十大排名,怎么查询商标名称是否注册,好的优化网站推广公司,前端路由的核心是什么呢#xff1f;改变URL#xff0c;但是页面不进行整体的刷新。 vue-router是基于路由和组件的  路由用于设定访问路径, 将路径和组件映射起来#xff1b;  在vue-router的单页面应用中, 页面的路径的改变就是组件的切换#xff1b; 使用router需要…,前端路由的核心是什么呢改变URL但是页面不进行整体的刷新。 vue-router是基于路由和组件的  路由用于设定访问路径, 将路径和组件映射起来  在vue-router的单页面应用中, 页面的路径的改变就是组件的切换 使用router需要 1.在router文件夹内书写整个index.js文件 2.在View文件夹内书写具体的router文件内容 3.在App.vue文件夹想要替换内容的地方,写上路由占位符 4.main.js文件内import router from ./router,并且在mount app前app.use(router) 路由的使用步骤 ◼ 使用vue-router的步骤:  第一步创建路由需要映射的组件打算显示的页面  第二步通过createRouter创建路由对象并且传入routes和history模式 ✓ 配置路由映射: 组件和路径映射关系的routes数组 ✓ 创建基于hash或者history的模式  第三步使用app注册路由对象use方法  第四步路由使用: 通过router-link和router-view 0.报错:无法正常渲染router 报错1: 必须把use router写在mount前  报错2: 要么是router-link没写to的路径,要么是  history:createWebHistory,这里没写() 1.简单使用 router文件夹index.js import { createRouter,createWebHashHistory } from vue-router;import Home from ../Views/Home.vue import About from ../Views/About.vueconst router createRouter({//指定采用的模式:hashhistory:createWebHashHistory(),//映射关系routes:[{path:/home,component:Home},{path:/about,component:About},] })export default router Views文件夹下About与Home.vue文件 templateh2about/h2 /template templateh2home/h2 /template App.vue template div classapprouter-view/router-viewh2App content/h2 /div /templatescript setup/scriptstyle langless scoped/style main.js import { createApp } from vue // import ./assets/reset.css import router from ./routerimport App from ./App.vueconst app createApp(App)// 全局注册app.use(router)app.mount(#app) 2.如果希望点击某个区域进行跳转:router-link template div classapph2App content/h2div classnavrouter-link to/home首页/router-linkrouter-link to/about关于/router-link/divrouter-view/router-view /div /templatescript setup/scriptstyle langless scoped/style 3.路由的默认路径  默认情况下, 进入网站的首页, 我们希望router-view渲染首页的内容  但是我们的实现中, 默认没有显示首页组件, 必须让用户点击才可以 ◼ 如何可以让路径默认跳到到首页, 并且router-view渲染首页组件呢? ◼ 我们在routes中又配置了一个映射  path配置的是根路径: /  redirect是重定向, 也就是我们将根路径重定向到/home的路径下, 这样就可以得到我们想要的结果了. const router createRouter({//指定采用的模式:hashhistory:createWebHashHistory(),//映射关系routes:[{path:/,redirect:/home},{path:/home,component:Home},{path:/about,component:About},] }) 4.history模式 使用WebHashHistory哈希模式,域名跳转时会有#,如果切成history则是日常的域名模式 import { createRouter,createWebHashHistory,createWebHistory } from vue-router;import Home from ../Views/Home.vue import About from ../Views/About.vueconst router createRouter({//指定采用的模式:hash// history:createWebHashHistory(),history:createWebHistory(),//映射关系routes:[{path:/,redirect:/home},{path:/home,component:Home},{path:/about,component:About},] })export default router 5.router-link的属性:to/replace/active/name ◼ router-link事实上有很多属性可以配置 ◼ to属性  是一个字符串或者是一个对象 对象写法,记得:to,几乎不在to内使用对象写法 router-link :to{path:/about}关于/router-link◼ replace属性  设置 replace 属性的话当点击时会调用 router.replace()而不是 router.push() div classnavrouter-link to/home replace首页/router-linkrouter-link to/about replace关于/router-link/div 如果使用了replace属性,比如从百度进入8080页面,默认进入首页,此时点击进入关于界面,再点击返回,此时返回的不再是首页,而是百度页面 因为相当于百度→首页,关于页面替换了首页,此时百度→关于,所以点击返回按钮,返回百度界面 ◼ active-class属性  设置激活a元素后自动应用的class默认是router-link-active ◼ exact-active-class属性  链接精准激活时应用于渲染的 a 的 class默认是router-link-exact-active 通过自动绑定的active类,可以对其进行样式操作 .router-link-active {color: red; } ◼ name属性路由记录独一无二的名称 ◼ meta属性自定义的数据  6.路由懒加载 ◼ 当打包构建应用时JavaScript 包会变得非常大影响页面加载  如果我们能把不同路由对应的组件分割成不同的代码块然后当路由被访问的时候才加载对应组件这样就会更加高效  也可以提高首屏的渲染效率 ◼ 其实这里还是我们前面讲到过的webpack的分包知识而Vue Router默认就支持动态来导入组件  这是因为component可以传入一个组件也可以接收一个函数该函数 需要放回一个Promise  而import函数就是返回一个Promise 默认 npm run build不分包(此写法几乎被摒弃 import Home from ../Views/Home.vue import About from ../Views/About.vue 如果想要分包: const Home()import (../Views/About.vue) const About()import (../Views/Home.vue) 如果希望知道到底每个包对应的内容  使用webpack的魔法注释,webpack从3.x开始支持对分包进行命名chunk name) const Home()import (/* webpackChunkName: home */../Views/About.vue) const About()import (/* webpackChunkName: about */../Views/Home.vue)但是现在最广泛的写法是: import { createRouter,createWebHashHistory,createWebHistory } from vue-router;// import Home from ../Views/Home.vue // import About from ../Views/About.vue // const Home()import (/* webpackChunkName: home */../Views/About.vue) // const About()import (/* webpackChunkName: about */../Views/Home.vue)const router createRouter({//指定采用的模式:hash// history:createWebHashHistory(),history:createWebHistory(),//映射关系routes:[{path:/,redirect:/home},{path:/home,component:()import (../Views/Home.vue)},{path:/about,component:()import (../Views/About.vue)},] })export default router 7.动态路由基本匹配 ◼ 很多时候我们需要将给定匹配模式的路由映射到同一个组件  例如我们可能有一个 User 组件它应该对所有用户进行渲染但是用户的ID是不同的  在Vue Router中我们可以在路径中使用一个动态字段来实现我们称之为 路径参数 如果进入user页面,一般user界面会跟着id,但是我们默认的时user,此时无法匹配,无法进入user页面 {path:/user/:id,  const router createRouter({history:createWebHistory(),//映射关系routes:[{path:/,redirect:/home},{path:/home,component:()import (../Views/Home.vue)},{path:/about,component:()import (../Views/About.vue)},{path:/user/:id,component:()import (../Views/User.vue)},] })export default router template div classapph2App content/h2div classnavrouter-link to/home首页/router-linkrouter-link to/about关于/router-linkrouter-link to/user用户/router-linkrouter-link to/user/321用户321/router-linkrouter-link to/user/123用户123/router-link/divrouter-view/router-view /div /template 8.获取动态路由的值 ◼ 那么在User中如何获取到对应的值呢  在template中直接通过 $route.params获取值 ✓ 在created中通过 this.$route.params获取值 ✓ 在setup中我们要使用 vue-router库给我们提供的一个hook useRoute ➢ 该Hook会返回一个Route对象对象中保存着当前路由相关的值 法一:在template中直接通过 $route.params获取值 templateh2 classuserUser:{{$route.params}}/h2 /template {path:/user/:id,component:()import (../Views/User.vue)}, templateh2 classuserUser:{{$route.params.id}}/h2 /template 法二:在setup中我们要使用 vue-router库给我们提供的一个hook useRoute templateh2 classuserUser:{{$route.params.id}}/h2 /templatescript setupimport {useRoute} from vue-routerconst route useRoute()console.log(route.params.id) /script 但是这种写法在 router-link to/user/321用户321/router-linkrouter-link to/user/123用户123/router-link 切换时不会控制台输出 如果想要改变:(很少用到) templateh2 classuserUser:{{$route.params.id}}/h2 /templatescript setupimport { useRoute, onBeforeRouteUpdate } from vue-routerconst route useRoute()console.log(route.params.id)// 获取route跳转idonBeforeRouteUpdate((to, from) {console.log(from:, from.params.id)console.log(to:, to.params.id)})/script 法三: 9.notfound 对于哪些没有匹配到的路由我们通常会匹配到固定的某个页面  比如NotFound的错误页面中这个时候我们可编写一个动态路由用于匹配所有的页面 这里path:/:patMatch(.*)意味着匹配到所有路径 但是home/user/about这种还是会正常跳转的 {path:/:patMatch(.*),component:()import (../Views/NotFound.vue)} templatediv classnot-foundh2NotFound:您当前的路径不正确/h2/div /templatescript setup/scriptstyle scoped /style 获得具体不正确的路径  templatediv classnot-foundh2NotFound:您当前的路径不正确{{$route.params.patMatch}}/h2/div /template 10.编程式路由跳转  使用费router-link跳转需要用到编程式 使用push的特点是压入一个新的页面那么在用户点击返回时上一个页面还可以回退但是如果我们希望当前页面是一个替换操作那么可以使用replace  template div classapph2App content/h2div classnavspan clickhomeSpanClick首页/spanbutton clickaboutBtnClick关于/button/divrouter-view/router-view /div /templatescript setupimport {useRouter} from vue-routerconst routeruseRouter()function homeSpanClick(){router.push(/home)}function aboutBtnClick(){router.push(/about)} /script import {useRouter} from vue-routerconst routeruseRouter()function homeSpanClick(){router.push(/home)} 获取当前正在使用的router  function homeSpanClick(){router.push({path:/home})} 这样写可以写更多参数 11.页面的前进后退 templateh2 classaboutabout/h2button clickbackBtnClick返回/button /templatescript setupimport {useRouter} from vue-routerconst routeruseRouter()function backBtnClick(){router.back()} /script 12.动态添加路由 ◼ 某些情况下我们可能需要动态的来添加路由  比如根据用户不同的权限注册不同的路由  这个时候我们可以使用一个方法 addRoute let isAdmintrue if(isAdmin) {router.addRoute( {path:/admin,component:()import (../Views/Admin.vue)},) }export default router //动态管理路由 let isAdmintrue if(isAdmin) {router.addRoute( {path:/admin,component:()import (../Views/Admin.vue)},)//添加vip页面router.addRoute({path: /home/vip,component: () import(../Views/HomeVip.vue)}); } 动态添加二级路由  13.删除路由 name必须是唯一的 14.路由导航守卫 比如在首页点击order按钮,需要进行拦截,如果已经登录则放行,否则跳转到登录页面
http://www.w-s-a.com/news/646875/

相关文章:

  • 如何在一个地方建设网站营销型定制网站
  • 保定网站建设方案维护动易网站中添加邮箱
  • 简易网站的html代码wordpress音乐html
  • 四川住房和城乡建设厅网站打不开海山网站建设
  • 深圳设计功能网站如何用html制作网站
  • 网络优化软件下载竞价排名和seo的区别
  • 龙华新区做网站中高端网站建设
  • 网站开发小图标大全手机网站设计开发
  • 网页设计设计一个网站口碑营销的优点
  • 枣庄建网站的公司唐山企业网络推广培训
  • 张家界建设企业网站学校资源网站建设方案
  • 网站制作教程书籍业务管理系统
  • 上传网站空间的建站程序怎么删除c 网站开发案例详解下载
  • 企业网站维护兼职丹阳网站优化
  • 秦皇岛网站开发公司怎么注册自己的公司
  • 写作网站哪个能得稿费绿色环保企业网站模板
  • 牡丹江网站建设定制开发安徽建设工程信息网官网入口
  • 有什么好的网站建设的书适合在家做的网站工作
  • wordpress情侣源码西安网站快速优化
  • 昆明网站建设高端定制100种班服设计图
  • 网站开发程序说明html网页制作接单
  • 企业网站货物查询怎么做制作文件的软件
  • 怎么做网站的防盗链北京门户企业网站建设
  • 网站推广的主流方法淘客网站 源码
  • 网站海外推广怎么做多用户商城系统源码教程
  • 猎头做单网站网站创建费用
  • 住房和城乡建设网站 上海自己做网站还是公众号
  • 投票网站怎么制作电商网站模板html
  • 攀枝花移动网站建设抖音广告投放平台
  • 什么是网站设计第一装修网