javascript - 求助,关于vue切换路由后的回调函数!
怪我咯
怪我咯 2017-04-11 12:14:12
[JavaScript讨论组]

初始状态

点击收件箱旁边的按钮,弹出侧边栏,有俩路由按钮

点击切换路由后,隐藏侧边栏(现在的问题就在这里,我需要在点击切换路由后的回调函数里面做一步操作,就是修改vue实例的一个属性值,这个属性值用来控制侧边栏的隐藏和显示),
router.beforeEach(function(to, from, next){}); 发现文档上有这个回调,但是里面无法访问vue的实例啊,求大神帮忙看看

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
PHP中文网
next(function(vm){
    //形式参数vm 就是vue实例
})
怪我咯

一个不太优雅的解决方案

给侧边栏内的链接添加点击事件,在点击事件里面控制显示属性的值和路由跳转

伊谢尔伦

不太了解vue,但是可以监听点击啊

高洛峰

你可以把beforeEach的逻辑写道组件里啊

const Foo = {
  template: `...`,
  beforeRouteEnter (to, from, next) {
    // 在渲染该组件的对应路由被 confirm 前调用
    // 不!能!获取组件实例 `this`
    // 因为当钩子执行前,组件实例还没被创建
  },
  beforeRouteUpdate (to, from, next) {
    // 在当前路由改变,但是改组件被复用时调用
    // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
    // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
    // 可以访问组件实例 `this`
  },
  beforeRouteLeave (to, from, next) {
    // 导航离开该组件的对应路由时调用
    // 可以访问组件实例 `this`
  }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号