Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 捕获并处理vue.js应用程序中的出站链接点击_Javascript_Vue.js_Vuejs2_Vue Router - Fatal编程技术网

Javascript 捕获并处理vue.js应用程序中的出站链接点击

Javascript 捕获并处理vue.js应用程序中的出站链接点击,javascript,vue.js,vuejs2,vue-router,Javascript,Vue.js,Vuejs2,Vue Router,我正在构建一个从CMS获取数据的小型Web应用程序。我正在history模式下使用Vue路由器。我从API中获取的内容可以包含链接,我希望通过路由器处理符合特定条件的链接,但任何我无法匹配的内容都应该正常处理 这样的事情可能吗?我尝试用路由器链接替换内容中的标记,但这不起作用,因为我用v-html显示内容。在jQuery中,我会听取所有元素上的事件,并检查那里的链接,但我不确定如何在Vue中处理这一点(以优雅的方式)。如果我正确理解您的需要,您想从绑定的动态内容编译组件吗?我遇到了一个非常类似的

我正在构建一个从CMS获取数据的小型Web应用程序。我正在
history
模式下使用Vue路由器。我从API中获取的内容可以包含链接,我希望通过路由器处理符合特定条件的链接,但任何我无法匹配的内容都应该正常处理


这样的事情可能吗?我尝试用路由器链接替换内容中的
标记,但这不起作用,因为我用
v-html
显示内容。在jQuery中,我会听取所有
元素上的事件,并检查那里的链接,但我不确定如何在Vue中处理这一点(以优雅的方式)。

如果我正确理解您的需要,您想从绑定的动态内容编译组件吗?我遇到了一个非常类似的问题,在vue论坛上遇到了这个问题,提出了一个解决方案:

LinusBorg Suggests使用动态计算组件,如下图所示,使用transformer方法解析链接并将其转换为路由器链接:

计算:{
转化的(){
返回{
模板:transformer(…),
道具:这个。$options.props
}
}
}
然后在模板中动态绑定它


在玩了一段时间之后,它完全完成了我想要它做的事情,我有了一个transformer方法,可以用路由器链接替换标记,并将字符串作为新模板返回给转换后的“组件”


希望这能有所帮助。

请分享您迄今为止所做的尝试。您可能希望解析HTML并从vue处理的链接中创建数组中的对象。然后从该阵列创建vue路由器链接。但是,要获得更具体的建议,需要提供一个更具体的示例,说明您得到了什么HTML以及您想要创建什么HTML。我已经在api路由中用路由器链接替换了所有出现的链接,并且在我的根应用程序组件中添加了一个全局单击事件处理程序。这实际上是可行的,但我希望有一种方法可以配置路由器,而不必处理每一个生成的点击事件。我不喜欢这样,我必须检查被点击元素的父元素,以确定链接是否被点击。是的,这正是我想要的!我要试一试。非常感谢!用论坛线程中链接的代码笔制作了一个单独的文件组件,它就像一个符咒。