v-html不执行script标签中的代码

使用 v-html 渲染 HTML 之后,不会执行 script 标签内的代码。

原因

v-html 只是设置一个元素的 innerHTML。

解决办法

可以自定义一个标识(可以绑定一个:ID),在 $nextTick 函数中获取到 script  标签中的代码,再去执行。

------ - -
	- ------------------- - -------
	-----------------------
		- ------ - -------
		-------- - --
		-------- - -
		-------- - ----------------------
		--------------------
	-
--

因为是动态脚本,所以在使用完或者页面、组件销毁的时候,需要将它删除,防止污染全局。

beforeUnmount() {
	let ------------------- = --------.getElementById("custom-dynamic-scripting");
	if(-------------------){
		--------.getElementsByTagName('body')[0].removeChild(-------------------);
	}
}