How to access Vue Component from plain vanilla DOM(如何从普通DOM访问Vue组件)
问题描述
情况
我正在和Vue一起构建SPA。 有用Vue-Noty(https://github.com/renoguyon/vuejs-noty)制作的弹出式通知。 我有一个vuex操作,检查会话状态,如果它发现会话已过期,将显示NOTY(";您的会话已过期";)。 现在我想添加一个链接(";在此登录&q;),但我面临一个
问题
可以向通知添加<a>
标签。它们也工作得很好。
但是Vue spa当然不喜欢普通的<a>
标签.
我需要一个<router-link>
。但这并不起作用,它必须从.VUE文件中解析出来才能生成适用于单页导航的<a>
。
Noty可以处理标记,但如果我将其添加到Noty Like
this._vm.$noty.error('Your Session has expired, please <router-link to="/login">log in again</router-link>.')
,它当然会作为文字<router-link>
标记出现,这将不起作用。
所以我的下一个想法是在那里放一个<a>
和一个onClick="this.$router.push('/login')"
当然,这也不起作用,因为普通DOM元素中没有this
。
我的下一个想法是:也许我可以通过window.document
访问VUE路由器,但我没有找到方法
问题
如何从外部VUE组件或实例调用$router.push
方法,从";普通DOM&Quot;?
推荐答案
您可以尝试:
app.__vue__.$router.push({'name' : 'home'})
这篇关于如何从普通DOM访问Vue组件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何从普通DOM访问Vue组件


基础教程推荐
- 响应更改 div 大小保持纵横比 2022-01-01
- 动态更新多个选择框 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 在for循环中使用setTimeout 2022-01-01