您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页v-html 及vue-append插件

v-html 及vue-append插件

来源:二三娱乐

前言

先说一下,使用v-html要达到什么效果。

故事是这样的:
我们系统需要一个“代码组件”,即用户可以插入html/css/js代码来修改他的网站。所以,我就想到了用v-html指令来渲染用户提交的代码。
PS : innerHTML是不会执行script代码的。

v-html:

更新元素的 innerHTML
v-html也不会执行script代码。

解决方案

百度and google一番,给出的方案大致如下:
1.在渲染完成后,过滤掉script代码,动态插入script标签
2.过滤下script代码,使用elval执行
3.自己写一个可以执行script的指令

vue-append: like v-html directive, but it can call javascript function

总结

看了一下vue-append的源码,其实现的原理分析如下:
匹配script代码,将里面的代码使用eval执行。


image.png

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务