红米note4x高配耗电快耗电多少

Vue如何实现路由跳转和嵌套
栏目: 服务器教程 来源:  
&一、配置 Router
&用 vue-cli 创建的初始模板里面,并没有 vue-router,需要通过 npm 安装
cnpm i vue-router -D
安装完成后,在 src 文件夹下,创建一个 routers.js 文件,和 main.js 平级
然后在 router.js 中引入所需的组件,创建 routers 对象
import Home from './components/home.vue'
const routers = [
path: '/home',
name: 'home',
component: Home
path: '/',
component: Home
export default routers
在创建的 routers 对象中, path 配置了路由的路径,component 配置了映射的组件
需要注意的是,export default routers 必须写在文件底部,而且后面还需要接一空行,否则无法通过 ESlint 语法验证
然后 main.js 也需要修改:
import Vue from 'vue'
import VueRouter from 'vue-router'
import routers from './routers'
import App from './App'
Vue.use(VueRouter)
const router = new VueRouter({
mode: 'history',
routes: routers
el: '#app',
render: h =& h(App)
在创建的 router 对象中,如果不配置 mode,就会使用默认的 hash 模式,该模式下会将路径格式化为 #! 开头。
添加 mode: 'history' 之后将使用 HTML5 history 模式,该模式下没有 # 前缀,而且可以使用 pushState 和 replaceState 来管理记录。
关于 html5 history 模式的更多内容,可以参考官方文档:https://router.vuejs.org/zh-cn/essentials/history-mode.html
二、嵌套路由
在这个实例中,为了加深项目层级,App.vue 只是作为一个存放组件的容器:
其中 &router-view& 是用来渲染通过路由映射过来的组件,当路径更改时,&router-view& 中的内容也会发生更改
上面已经配置了两个路由,当打开 http://localhost:8080 或者 http://localhost:8080/home 的时候,就会在 &router-view& 中渲染 home.vue 组件&
home.vue 是真正的父组件,first.vue、login.vue 等子组件都会渲染到 home.vue 中的 &router-view&
如此一来,就需要在一级路由中嵌套二级路由,修改 routers.js
import Home from './components/home.vue'
import First from './components/children/first.vue'
import Login from './components/children/login.vue'
const routers = [
path: '/',
component: Home,
   children: [
    path: '/',
    component: Login
path: '/home',
name: 'home',
component: Home,
children: [
path: '/',
name: 'login',
component: Login
path: 'first',
name: 'first',
component: First
export default routers
在配置的路由后面,添加 children,并在 children 中添加二级路由,就能实现路由嵌套
配置 path 的时候,以 & / & 开头的嵌套路径会被当作根路径,所以子路由的 path 不需要添加 & / &
三、使用 &router-link& 映射路由
home.vue 中引入了 header.vue 组件,其中含有导航菜单
当点击导航菜单的时候,会切换 home.vue 中 &router-view& 中的内容
这种只需要跳转页面,不需要添加验证方法的情况,可以使用 &router-link& 来实现导航的功能:
在编译之后,&router-link& 会被渲染为 &a& 标签, to 会被渲染为 href,当 &router-link& 被点击的时候,url 会发生相应的改变
如果使用 v-bind 指令,还可以在 to 后面接变量,配合 v-for 指令可以渲染导航菜单
&如果对于所有 ID 各不相同的用户,都要使用 home 组件来渲染,可以在 routers.js 中添加动态参数:
path: '/home/:id',
component: Home
这样 &/home/user01&、&/home/user02&、&/home/user03& 等路由,都会映射到 Home 组件
然后还可以使用 $route.params.id 来获取到对应的 id
四、编程式导航
实际情况下,有很多按钮在执行跳转之前,还会执行一系列方法,这时可以使用 this.$router.push(location) 来修改 url,完成跳转
push 后面可以是对象,也可以是字符串:
this.$router.push('/home/first')
this.$router.push({ path: '/home/first' })
// 命名的路由
this.$router.push({ name: 'home', params: { userId: wise }})
五、前车之鉴
在学习的过程中,遇到一个困扰许久的问题,大概是从 first 组件跳转回 login 之后,无法再跳转回去。但是 url 已经被修改,刷新页面也能正常显示。
这是因为我在 first.vue 组件中的 data 里面没有写 return
在 vue 组件中,data 必须写为函数,且需要用 return 来返回参数。但是当 data 为空时,即使不写 return 也不会报错,所以导致了上面的问题。
06-20 06-19 06-19 06-19 06-19 06-19 06-19 06-19请输入数字答案:15 − 15 =
进群和500多名前端关注者一起进步,
我每周都会上线解答群内问题。
《vue实战课程-快餐店POS系统》更新完毕,小伙伴们可以学习了。《技术胖带你玩转ES6》开始更新,计划每周更新三集,追看的小伙伴辛苦了。
如果文章对您有帮助,请打赏:
打赏后你将获得以下特权:
1.加入技术胖前端微信交流群。
2.和10年程序老司机(技术胖)成为微信好友。
3.获得本站前端视频离线高清版。
打赏后获得特权流程:
1.扫二维码添加技术胖私人微信。
2.添加微信成功后,发送打赏截图。
3.技术胖拉你入群,查看群公告。
以下人员在服务器购买费用中捐款,所以本站由以下人员共同建立。日重新上线。
高丽-59元,
周老六-147元,
风飞沙-118元
婷婷-19元,
fillter-29元,
军哥哥-29元,
贪吃鱼儿-29元,
妖妖-29元,
追风-48元,
吴思超-29元,
金秀学-29元,
十月弓虽-29元,
谭兵-29元,
千夜一夕-29元,
jason-29元,
上帝没给答案-19元,
土豆-19元,
Tempest-29元,
詹小云-19元,
hasaki-29元,
落_尘-29元,
汪胜强-29元,
ginway-29元,
吕檀溪-29元,
Arical-29元,
lishalom-29元,
桂玉青-19元,
张杨-19元,
Peach-29元,
国豪-19元,
Kevin-29元,
孟凡兴-29元,
谢启鸿-19元,
bwhite-29元,
null-29元,
yuyi_guo-19元,
张易得-29元,
Rewa-Fang-29元,
小钟-29元,
木白-29元,
jackyrong-19元,
咚咚-29元,
笑容-29元,
vanjon-29元,
一曲琴殇-19元,
橙橙同学-29元,
王畅-19元,
咚咚-29元,
野蛮的橘子-29元,
路道老粗-29元,你正在使用的浏览器版本过低,将不能正常浏览和使用知乎。你正在使用的浏览器版本过低,将不能正常浏览和使用知乎。查看: 562|回复: 2
router-view上的transion问题
本帖最后由 umbrellazwl 于
14:47 编辑
这几天跟着mintui的官方demo自己重新写了一下,想给router-view外面加上transition来实现页面切换效果,但是效果会比较奇怪,顶部和底部感觉有transition的效果,中间似乎没有,而且返回到首页的时候,会先出现底部的tabbar,没有老师的例子中那样满意。不知道是为什么,希望老师能帮我看看。直接把附件下载下来cnpm i,npm run dev跑着帮我看看吧.。另外好像这个 里面的sourcemap似乎也没有起到作用。组件里面写的style最终在浏览器查看的时候也都是显&style&....&/style&,而不是。***.vue
本帖子中包含更多资源
才可以下载或查看,没有帐号?
智能社论坛 - 专业 专注 分享
你的sourceMap起作用了啊,我这里有的
你的动画如果不想让header和footer走的话,就把它们单独摘出来。类似下面这种:
&nav-view&
&transition&
& &&router-view&
&footer-view&
智能社论坛 - 专业 专注 分享
你的sourceMap起作用了啊,我这里有的
你的动画如果不想让header和footer走的话,就把它们单独摘出来。类似 ...
难道是我的浏览器版本有问题? 然后那个动画的问题,我的意思是我想整体有页面切换的效果,但是我现在看到的情况是从home到toast,只有顶部有动画,而下面部分是动画结束之后直接显示出来。然后从toast回到home的时候,home页面的tabbar会现在顶部显现,然后动画结束之后才回到正确的位置的。不知道老师那边看到的情况是不是这样,我就是想要个页面整体切换的那种
智能社论坛 - 专业 专注 分享
智能社全新推出大神周末晋修班,Blue、Strive、Eric等众多顶级讲师亲自授课,北京、上海、深圳全国五大校区同步开课。想与行业公认顶尖大咖讲师直接交流?你的机会来了!
Blue老师在深圳的公开课完美收官,课件及视频已经提供下载啦!相信各位同学都已经期待许久了呢!赶紧点击链接下载吧~
智能社线上课程Node.JS-经典教程(系统性课程)报名已开启啦!主讲人blue,整个课程总课时高达50节课!
Powered by
QQ在线咨询

我要回帖

更多关于 红米note4x耗电快 的文章

 

随机推荐