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组件


- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- Fetch API 如何获取响应体? 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01