vue 打开html流_html和vue互相调取方法

本文介绍了在Vue项目中如何实现Vue组件与HTML页面的交互,特别是通过iframe进行方法调用。文章通过实例展示了Vue调用HTML方法以及HTML调用Vue方法时遇到的问题和解决方案,包括在window对象上绑定方法以及处理由于动词拼写错误导致的错误。
摘要由CSDN通过智能技术生成

前段时间 使用h5搞了个用cesium.js做的地图服务功能,后来想整合到vue项目,当然最简单的就是iframe直接拿来用了。

但html和vue的方法交互就是成了问题,vue调用html种方法还好,尤其是html调用vue中的方法当初就没有解决,忙着项目上线直接搞了个setInterval不停轮询,哎不说他了;

现在空点了来把问题解决了,俗话说得好闲时学来忙时用,闲时不学忙时莫得用,所以各位走过路过的朋友看过来看过来,要买乡音这边来(程序员改摆地摊了,哈哈哈)。且扯远了下面进入主题

这个还是挺简单的 直接window.frames['iframe name'].方法名

如:

invokeHtmlMethod(){window.frames['iframeMap'].lodaTable()},

这个就有点难做了(准确来说是采坑了);第一个当然会想到直接将方法绑到window上了;

create(){window.vueDefinedMyProp=(receiveParams) =>{this.receiveParamsFromHtml(receiveParams)}},methods:{receiveParamsFromHtml(res){console.log(res)},}

然后html页面中是这样

运行报错了

VM345:1UncaughtTypeError:window.parent.vueDefinedMyProp is not afunctionat:1:15

后来去网上看见这朋友是这么做得

于是我就照

在使用Vue 3配合Mock.js时,通常Mock.js用于在前端项目中模拟后端接口返回的数据,以方便在后端服务未完成时进行前端开发和测试。Mock.js提供了丰富的接口来模拟各种类型的数据,但是默认情况下,Mock.js模拟的是JSON数据格式。 如果你在调用Mock接口时返回的是HTML文档,那可能是因为Mock.js的配置或使用方式出现了偏差。通常情况下,Mock.js不会直接返回HTML文档,除非开发者特别配置了这样的行为。例如,可以使用Mock.js的Mock.function方法来模拟一个返回HTML内容的函数,或者配置特定的mock规则来返回HTML字符串。 下面是一个基本的例子,展示如何配置Mock.js以返回一个简单的HTML字符串: ```javascript import Mock from 'mockjs'; // 假设你想要模拟一个返回HTML的接口 Mock.mock('/some-html-url', 'get', function() { return Mock.mock({ // 这里的模板可以根据需要自定义 'html': '<h1>这是一个HTML模板</h1>' }); }); // 在Vue组件中,你可以使用axios等HTTP库来调用这个接口 import axios from 'axios'; axios.get('/some-html-url').then(response => { // 这里的response.data将是包含HTML内容的字符串 console.log(response.data); }); ``` 请确保你的Mock.js配置正确,且调用接口的方式没有问题。如果确实需要返回HTML文档,那么上面的配置方法可以作为一种参考。但请注意,通常情况下,前端应用应该避免直接处理HTML文档,除非这是特定功能的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值