使用 Vue router 设置变量而不是组件可见性?
Use Vue router to set variables instead of component visibility?
我想使用 url 参数在我的 Vue 应用程序中设置变量。我认为 vue-router 对此很有用,但它似乎都是为 router-view 组件内的 showing/hiding 组件制作的。
我正在考虑在路由器视图中使用没有模板的单个组件来设置变量,如下所示:
export default new Router({
routes: [
{
path: '/preferences',
name: 'Preferences',
component: Navigator,
props: { preferencesVisible: true }
},
{
path: '/info',
name: 'Info',
component: Navigator,
props: { infoVisible: true, preferencesVisible: false }
}
]
})
这样我就可以添加额外的逻辑来定义哪些组件是可见的以及其他东西(例如,可以通过链接共享的应用程序参数)。
是否有理由不以这种方式使用 vue-router?有更好的解决方案吗?
我的问题是基于对 VueRouter 的功能的不了解。不需要像我建议的那样添加额外的导航器组件。
为了达到题中的目的,添加一个router view,使用router来控制它的content和props。毕竟,我们需要模板中的一些东西供路由器控制。如果需要,内容可以是从不隐藏的单个组件。为了实现路由器中的所有路径都引用该路由器视图(或至少:该路由器视图的所有路由器路径)。
我想使用 url 参数在我的 Vue 应用程序中设置变量。我认为 vue-router 对此很有用,但它似乎都是为 router-view 组件内的 showing/hiding 组件制作的。
我正在考虑在路由器视图中使用没有模板的单个组件来设置变量,如下所示:
export default new Router({
routes: [
{
path: '/preferences',
name: 'Preferences',
component: Navigator,
props: { preferencesVisible: true }
},
{
path: '/info',
name: 'Info',
component: Navigator,
props: { infoVisible: true, preferencesVisible: false }
}
]
})
这样我就可以添加额外的逻辑来定义哪些组件是可见的以及其他东西(例如,可以通过链接共享的应用程序参数)。
是否有理由不以这种方式使用 vue-router?有更好的解决方案吗?
我的问题是基于对 VueRouter 的功能的不了解。不需要像我建议的那样添加额外的导航器组件。
为了达到题中的目的,添加一个router view,使用router来控制它的content和props。毕竟,我们需要模板中的一些东西供路由器控制。如果需要,内容可以是从不隐藏的单个组件。为了实现路由器中的所有路径都引用该路由器视图(或至少:该路由器视图的所有路由器路径)。