vue.js - 选择要在 Vue.js 中的特定路由上显示的组件
问题描述
是否可以在路由中设置条件来决定在其中显示哪个组件?像这样的东西:
let someBoolean = true;
const routes = [
{ path: '/foo', component: someBoolean ? Foo : Baz },
{ path: '/bar', component: Bar }
]
并且布尔值可以更改。还应根据该组件进行选择。
解决方案
根据Codesandbox,这是可能的。
但是,路由树是在应用程序启动时构建的,因此如果您通过应用程序中的操作更改变量,则不会发生任何事情,也不应该再次构建树。
编辑:
Vue Router 有一个 API,允许您在树构建后更新树。
你有Router.addRoute(),这个技巧允许你将树重置为其初始状态并有条件地添加你想要保留的路由。
推荐阅读
- c - 如何使用套接字的阻塞状态作为条件?
- javascript - 你能在 javascript 中设置有序列表编号的样式吗?
- flutter - 颤动中带有单选按钮的列表视图会降低性能
- typescript - 开玩笑的相对导入找不到 node_modules
- javascript - .nextUntil 只返回它遇到的第一个元素
- go - 一段时间后,什么更好地用于运行功能?
- python - 元素被添加到列表中两次
- javascript - react-testing-library - 异步行为有时通过,有时失败
- tradingview-api - 带有语法错误的交易视图 Pinescript 错误
- ruby-on-rails - 使用 Storybook 的 Rails ViewComponent 组件库