#需求
现在有一个拿不到源码的线上项目,需要通过浏览器获取 vue 实例
然后提前拦截网络请求
#实现
js// .home是页面根元素的选择器 const instance = document.querySelector('.home').__vue__ typeof instance.formInline // 'object' typeof instance.onSubmit // 'function'
对应的 vue 源码
vue<script> export default { data() { return { formInline: { user: 'zwh', region: 'shanghai', }, } }, methods: { onSubmit() { console.log('submit!') }, }, } </script>
同时在此基础上,也支持属性的双向绑定和 methods 的修改新增
jsinstance.onSubmit2 = () => { instance.formInline.user = Math.random().toString(32).slice(-4) }