问题标签 [vue-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vue.js - 具有不同布局的 vuejs 应用程序(例如登录布局、页面布局、注册等)
我使用 vue-cli 生成了一个项目。我看到项目有一个 App.vue 这是应用程序的主要布局 - 如果我没记错的话。在这里,我放置了我的基本 HTML 布局和<router-view></router-view>
. 现在的问题是我需要完全不同的登录布局(不同的包装器,body 有不同的类),但我无法更改它,因为 App.vue 的模板有点“固定”作为布局。如何处理这个问题?有推荐的方法吗?
我是否应该创建代表布局的新组件,这样在这种情况下,我的 App.vue 模板只有<router-view></router-view>
然后 LoginLayout.vue 会包含在其中?
vue.js - VueJs - 使用 vue-router 将数据传递给 subRoutes 组件
我不明白如何将“路由组件”加载的数据传递给“子路由组件”..(我将 Vue.js 与 Vue-router 一起使用)
我的路由器是这样的:
我只想将组件 A 加载的数据与组件 B 和 C 共享。
提前致谢 !
javascript - Vue.js:使用 vue-router 和 store 实现客户端 restful 路由器
我正在尝试使用 vue.js 和 vue-router 实现一个客户端 restful api,其中路由参数可用于将商店数据的子集显示到组件中。客户端需要的所有数据都在初始化时加载到存储中(其中大部分没有显示,包括侦听器以确保数据准备就绪)。
例如,假设我的商店结构如下:
现在假设我有一个路由,它希望根据路由参数中的 fooId 将其中一个 foo 显示到组件中:/foo/:fooId
在我的 Foo.vue 文件中:
问题:实现这一目标的最佳方法是什么?我想了几个选项,但似乎没有一个是最理想的。
选项 #1 - 计算数据:这具有反应性的好处(使用像 vue.js 之类的库的重点......是的!),但代价是计算成本很高。编辑- 结果我不能使用下划线,而是需要使用一堆 for 循环来返回正确的数据。
Foo.vue
选项 #2 - 使用 vue-router 的数据管道。这样做的好处是计算更简单,但我认为这不会对商店状态的变化产生反应(那么有什么意义呢?)。
谢谢!
javascript - 在组件函数中使用 Vue 动态路由名称
我一直在尝试使用 Vue 和 Laravel 进行动态视图渲染。但是,我无法理解我应该如何将动态参数解析为组件函数。
通过我读过的文档, $route 应该可以解决这个问题。我可以将 $route 解析到视图中,并在页面上打印文本。但是,我不能在地图内使用 $route 来获取动态名称?
比如说,我输入“/cms-admin/dashboard”,“dashboard”应该被解析为模板参数。
在此先感谢,史蒂文
vue.js - 将 props 传递给 Vue-router 实例化的 Vue.js 组件
假设我有一个像这样的 Vue.js 组件:
当 vue-router 中的某些路由像这样匹配时,我想使用它:
通常为了将“myProps”传递给组件,我会做这样的事情:
在html中:
在这种情况下,当路由匹配时,路由器会自动在 router-view 元素中绘制组件。
我的问题是,在这种情况下,如何将道具传递给组件?
javascript - 每次换回路由器时如何初始化我的组件?
我有一个用表单添加用户的组件,在我提交表单后,离开并返回,我发现我上次写的数据还在。
那么,每次我离开时如何重置(重新初始化)组件?
vue.js - Vue“计算”过滤器
是否可以从过滤器中提取变量,并在更改时更新过滤器?就像在计算属性中一样?
我希望能够做类似的事情:
this.currentLanguage
并让过滤器在更改时重新编译模板。
显然我可以传入一个额外的参数,但我不想对每个字符串都这样做。
我的代码在切换组件时有效,因此,有没有办法强制重新编译?我正在使用vue-router
,但是
不幸的是不会触发重新编译。
vue.js - 如何仅在子组件中使用 vue-router?
我是 vuejs 的新手,在使用它时有一些问题。我创建了一个根视图,其中包含 2 个子组件,rootview.vue 文件如下所示:
在 calendar-bottom-view 组件中,我需要使用 vue-router 来帮助在子组件之间切换:calendarView 和议程视图。所以我决定在我的 calendar-bottom-vue 组件中添加 vue-router,代码如下所示:
我打算做的是让路由器在组件初始化时先渲染calendarView。但是当我运行这个页面时,我收到了类似的错误消息
'router-view> 只能在启用路由器的应用程序中使用。
我查看了vue-router的官方规范,在它的demo代码中发现,vue-router在demo app的入口js中使用,在任何子组件中都没有发现任何用途。
所以我想知道,如何在我的一个子组件中使用 vue-router 而不是 root?