Element: NavMenu 中使用路由导航,刷新后导航栏指向default-active设置的选项,但是router-view并不渲染路由指向的页面

Created on 21 Feb 2017  ·  7Comments  ·  Source: ElemeFE/element

代码如下

Most helpful comment

image
image
这样就可以刷新页面之后,保持原来的激活状态。

All 7 comments

我也碰见了这个问题。

既然 NavMenu 中有 router 这个选项。应该在刷新页面之后,保持原来的激活状态。

上面的问题,大致可以用下面解决。
但是还是不能支持路由的 别名。

根据路由获取default-active,类似 :default-active="$route.path"

而且 NavMenu 的 index 不支持 vue-router 的命名方式 {name: "User"}

总结:

如果 NavMenu 支持路由(采用vue-router),就应该实现比较完善的功能。
如果不想耦合在一起的话,不应该提供router 选项。

感谢

image
image
这样就可以刷新页面之后,保持原来的激活状态。

感谢 @PanJiaChen

但是有个问题::default-active="$route.path" 和上面的方法有什么不同?

是可以在不刷新页面的路由变动时,动态调整激活状态?

另外问一下,NavMenu 是不支持路由别名吗?

刚才试了一下,:default-active="$route.path" 和上面的方法。显示效果一致

data() { return { activeIndex: '', }; }, beforeMount: function () { if(this.$route.name == 'index'){ this.activeIndex = 'feeds' }else{ this.activeIndex = this.$route.name } },

既然没什么问题就先关掉了,另外 @langgo 你说的很好,2.0 已经有点想把 router 的功能去掉了。我认为menu的激活与展开,应该是跟路由无关,而只跟你的 default-activedefault-openeds 有关。还是建议不要太过于依赖 router 这个功能🌚

Was this page helpful?
0 / 5 - 0 ratings