vue.js - Vue.js 路由器 - 条件组件渲染
问题描述
routes: [
{
path: '/',
name: 'home',
get component(){
if(Vue.loggedIn){
return Home
}else{
return Login
}
}
}
我添加了一个 getter,似乎工作正常,但我在 if 语句中使用的任何变量或函数都是未定义的。即使我尝试使用全局原型。$var 和 mixin 函数仍然没有成功。
我所需要的是,如果用户登录路径“/”呈现仪表板视图,如果没有,则登录被呈现到“/”。
注意:我使用 beforeEnter: 并且效果很好。但我不想重定向。
解决方案
使用您的方法,这是我发现的工作:
routes: [
{
path: '/',
name: 'home',
component: function () {
if(loggedIn){
return import('../views/Home.vue')
}else{
return import('../views/Login.vue')
}
}
}
推荐阅读
- ruby - Sinatra 无法生成架构或显示迁移状态
- javascript - Ajax open() 函数:具有 MVC 结构的 PHP 进程文件路径
- javascript - 在 IE 中直接使用 Polyfill ES5
- visual-c++ - 二次方程的c++实现,在学校测试网站上实现时抛出错误
- laravel - 为用户类变量赋值
- rest - REST API 关系中的公共 ID
- java - 需要找到属性并点击它
- javascript - 如何一次定义很多变量
- ruby-on-rails - systemd脚本中的`bundle:找不到命令`
- django - 编辑更新除 Django Rest Framework 中的主键之外的所有计划