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

新云网站模版网页设计实训

新云网站模版,网页设计实训,免费网站登录口看完你会感谢我,公司简介样本目录 路由原理 路由到底有什么作用#xff1f; 路由安装和使用#xff08;vue2#xff09; 路由跳转 跳转实例#xff1a; 路由的传值和取值 传值实例#xff1a; 查询参和路由参的区别#xff1a; 嵌套路由 嵌套实例#xff1a; 路由守卫 守卫实例#xff1…目录 路由原理 路由到底有什么作用 路由安装和使用vue2 路由跳转 跳转实例 路由的传值和取值 传值实例 查询参和路由参的区别 嵌套路由 嵌套实例 路由守卫 守卫实例 路由原理 路由是Vue中的一个重要的插件。 Vue是单页面应用就一个HTML页面但是我们要实现页面的跳转效果那么我就需要使用路由。 单页面的跳转是什么呢实际上就是局部改变其实还是一个单页面只是看起来像跳转的样子。 单页应用的路由模式有两种 1、哈希模式利用hashchange 事件监听 url的hash 的改变 2、history模式使用此模式需要后台配合把接口都打到我们打包后的index.html上 路由到底有什么作用 下图淘宝例子底部红色框中的按钮点击的话绿色框中的内容会发生改变实现单页面应用 路由安装和使用vue2 路由下载地址上个博客写过没下的可以去看看。 导入路由插件 script src../js/vue2.7.js/script!--vue文件-- script src../js/vue-router.js/script!--路由文件-- 安装路由插件到Vue中 script//安装路由前提要导入路由jsVue.use(VueRouter) /script 创建VueRouter对象 var Login Vue.extends({template:div我是登录页面/div }); // 创建VueRouter对象,并配置路由 var myRouter new VueRouter({// 配置路由routes:[// 指定路由链接、路由名称、路由页面组件{path:/login,name:login,component:Login}] }); 使用路由 var app new Vue({el:#app,// 引入到vue 实例中并在模板中使用router-viewrouter:myRouter,template:div头部router-view/router-view!--路由出口--尾部/div }) 路由跳转 路由的跳转有两种方式 使用router-link标签 router-link to/login/router-link 编程式路由使用js this.$router.push({path:/login}); this.$router.replace({path:/login}); 说明 this.$router.push(); 会向history中添加记录this.$router.replace();不会向history中添加记录。this.$router.go(-1)常用来做返回上一个地址。 push和replace的区别就是在跳转后后退或前进能不能使用  路由中的对象 this.$route 路由信息对象只读。this.$router 路由操作对象只写。 跳转实例 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head bodydiv idapp头部router-link to/login登录/router-link!--登录的标签方式--router-link to/person个人/router-link!--个人的标签方式--button clicktoLogin登录按钮/button!--登录的点击事件方式--button clicktoPerson个人按钮/button!--个人的点击事件方式--!--下面是路由出口--router-view/router-view尾部/div /body script src../js/vue2.7.js/script script src../js/vue-router.js/script script//安装路由前提要导入路由jsVue.use(VueRouter)//创建一个登录子组件var login{template:div登陆页面/div,}//创建一个个人子组件var person{template:div个人页面/div,}//创建路由配置实例主要实现 路由和子组件之间的映射var myrouternew VueRouter({routes: [{path:/login,name:login,component:login},{path:/person,name:person,component:person}]})let appnew Vue({el:#app,router:myrouter,methods: {toLogin(){this.$router.push({path:/login})},toPerson(){this.$router.replace({path:/person})},},}) /script /html 路由的传值和取值 查询参 配置。查询参可以和path属性匹配也可以和name属性匹配。 router-link :to{path:/login,query:{id:queryid}}/router-link 或者 router-link :to{name:login,query:{id:queryid}}/router-link 或者 this.$router.push({path:/login,query:{id:this.queryid}}); 取参 // 此代码可以写到子组件的钩子函数中 this.$route.query.id 路由参 配置路由规则 var router new VueRouter({routers:[// 需要在配置路由规则时使用冒号指定参数{name:login,path:/login/:id,component:LoginVue}] }); 配置。意在这里path和params两个参数不能同时使用 路由参配置的时候要使用name因为path会根据参数的不同会改变。 router-link :to{name:login,params:{id:paramId}}/router-link 或者 this.$router.push({name:login,params:{id:this.paramId}}); 取参 // 此代码可以写到子组件的钩子函数中 this.$route.params.id 传值实例 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head bodydiv idapp头部router-link :to{path:/login,query:{id:loginId}}登录query-link方式/router-linkbutton clicktoLogin登录query-按钮方式/buttonrouter-link :to{name:person,params:{id:personId}}个人params-link方式/router-linkbutton clicktoPerson个人params-按钮方式/buttonbrrouter-view/router-view!--路由出口--尾部/div /body script src../js/vue2.7.js/script script src../js/vue-router.js/script script//安装路由前提要导入路由jsVue.use(VueRouter)var login{template:div登陆页面/div,mounted() {console.log(this.$route.query.id);},}//创建一个个人子组件var person{template:div个人页面/div,mounted() {console.log(this.$route.params.id);},}//创建路由配置实例主要实现 路由和子组件之间的映射var myrouternew VueRouter({routes: [{path:/login,name:login,component:login},{path:/person/:id,name:person,component:person}]})let appnew Vue({el:#app,router:myrouter,data() {return {loginId:66,personId:33}},methods: {toLogin(){this.$router.push({path:/login,query:{id:this.loginId}})},toPerson(){this.$router.push({name:person,params:{id:this.personId}})},},}) /script /html 查询参和路由参的区别 在地址栏参数的不同 查询参                                                路由参 大家会出现的问题 相同路由但参数不同。造成页面不刷新的问题只需要给路由出口加一个属性就行。 router-view :key$route.fullPath/router-view 嵌套路由 路由间有层级关系。他们在模板中也有嵌套关系。 可以一次性配置多个路由。 嵌套实例 实例里面写的都有注释方便大家理解对于不理解的地方大家多看几遍或许就能理解了。 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head bodydiv idapprouter-view/router-view!--路由出口--/div /body script src../js/vue2.7.js/script script src../js/vue-router.js/script scriptVue.use(VueRouter);//导航组件let nav{template:divrouter-link :to{name:nav.index}首页/router-linkrouter-link :to{name:nav.person}个人/router-linkrouter-link :to{name:nav.message}消息/router-linkrouter-view/router-view!--导航组件的路由出口--/div}//主页面子组件let index{template:div主页面/div}//个人页面子组件let person{template:div个人页面/div}//消息页面子组件let message{template:div消息页面/div}let routernew VueRouter({routes:[{path:/nav,name:nav,component:nav,children:[//配置二级路由{path:,redirect:/nav/index},//默认显示二级路由页面链接是/nav/index的路由{path:index,name:nav.index,component:index},{path:person,name:nav.person,component:person},{path:message,name:nav.message,component:message},]},{path:,redirect:/nav//默认显示页面链接是/nav的路由}]})let app new Vue({el:#app,router,//这个地方使用的是简写根据ES6新语法对象名和参数相同可以直接使用对象名。}); /script /html 路由守卫 可以做登录的验证判断购物车是否购买后跳转页面判断。 使用路由的钩子函数beforeEach实现 守卫实例 我将路由守卫放在了刚才的嵌套路由的实例里面作用是判断路径是否是首页 !DOCTYPE html html langen headmeta charsetUTF-8meta nameviewport contentwidthdevice-width, initial-scale1.0titleDocument/title /head bodydiv idapprouter-view/router-view!--路由出口--/div /body script src../js/vue2.7.js/script script src../js/vue-router.js/script scriptVue.use(VueRouter);//导航子组件let nav{template:divrouter-link :to{name:nav.index}首页/router-linkrouter-link :to{name:nav.person}个人/router-linkrouter-link :to{name:nav.message}消息/router-linkrouter-view/router-view!--导航组件中的路由出口--/div}//主页面子组件let index{template:div主页面/div}//个人页面子组件let person{template:div个人页面/div}//消息页面子组件let message{template:div消息页面/div}let routernew VueRouter({routes:[{path:/nav,name:nav,component:nav,children:[//配置二级路由{path:,redirect:/nav/index},//默认显示二级路由页面链接是/nav/index的路由{path:index,name:nav.index,component:index},{path:person,name:nav.person,component:person},{path:message,name:nav.message,component:message},]},{path:,redirect:/nav//默认显示页面链接是/nav的路由}]})let app new Vue({el:#app,router,//这个地方使用的是简写根据ES6新语法对象名和参数相同可以直接使用对象名。mounted() {this.$router.beforeEach((to,from,next){console.log(to);if(to.path/nav/index){// 跳转到目标路由next();}else{//如果路径不对的话延时两秒再进入setTimeout(function(){next();},2000);}});}}); /script /html
http://www.w-s-a.com/news/265032/

相关文章:

  • 做小程序和做网站哪个好让别人做网站推广需要多少钱
  • 做外贸的几个网站查询网域名解析
  • 酒泉如何做百度的网站seo研究中心好客站
  • 网站设计建设平台户县做网站
  • 一元云购网站开发wordpress博客空间
  • 深圳高端网站建设公司排名如何搭建局域网服务器
  • 照片管理网站模板高端网站开发哪家好
  • 黄冈网站制作wordpress为什么不能显示域名
  • 做网站设计怎么进企业电子商务网站建设与管理教材
  • 设计广告公司网站建设网站开发技术选择
  • 个人网站教程个人网站有必要备案吗
  • 网站建设推广好做吗黄浦企业网站制作
  • 怎样做28网站代理中山网站建设方案外包
  • vs2010做网站前台搭建小网站
  • 做视频必须知道的一些网站wordpress 标签鼠标滑过_弹出的title 代码美化
  • 怎么做室内设计公司网站电商运营培训视频课程
  • 昆明网站策划天津市建筑信息平台
  • 三亚放心游app官方网站wordpress 个人主题
  • 做简单的网站备案平台新增网站
  • 中国建设网站银行网络营销推广方案整合
  • 网站域名列表dede网站白屏
  • 站长工具一区品牌建设卓有成效
  • 电子商务网站建设案例wordpress批量编辑
  • 想代理个网站建设平台100个最佳市场营销案例
  • 钟表东莞网站建设石家庄做网站时光
  • 织梦 图片网站源码成都建设工程安监局网站
  • 做兼职的网站策划书湖北省建设工程造价信息网
  • 企业网站网址长期做网站应该购买稳定的空间
  • 网站静态化设计html5手机网站制作
  • 深圳最简单的网站建设家居网站建设全网营销