vue.js template中如果想包含script代码,应该怎样处理
发布于 8 年前 作者 xunull 28342 次浏览 来自 问答

QQ20160907-0.png

如图,这是截取的template中的一部分,template 中的html代码,link 的css 文件都是会被加载的 但是像这种script 标签中的 js代码并不会执行, script src 也不会请求,请问应该如何做到可以执行javascript 代码。

12 回复

这不是很vue。。

为啥不能在流程里直接执行呢? From Noder

@airyland 确实,觉得vue实现单页应用是很棒的,但是我可能动态的从后台获取template,我想试试能不能这样做,发现可以加载html css 但是加载不了script ,可能是vue 为了防止xss,我用了{{{ 也没有起作用,不知道咋办了

@zhengnz 异步加载template ,因为template 有可能是不同的,所以想把js代码写在template 里面,但是发现vue 不会执行,也许这不是vue的应该的使用方式,但是想试试 vue 应该如何处理这种问题。

@xunull 先获取模板再绑定vue咯 From Noder

webpack+vue-loader啊。能异步加载vue组件啊

template可能是不同的话可以设不同的模板啊。模板相差不大用slot插啊,传入值不一样用data控制啊,不想让模板一开始就显示可以用 v-if啊,想异步回调用nextTick啊。。 vue中状态驱动不是很简便吗,能v-if,v-show搞定的为什么要用别的??

vuejs主打数据驱动,感觉你这样写,即使做到了,也不是好的实现

组件挂载后(mounted), 直接操作节点插入script

还有这种操作?

这不符合vue的套路。

楼主的需求还是很正常的,比如我用打印插件,需要往打印容器里注入html css js, 其实很简单,在data里面用反引号 写好字符串html,然后在模板里面用三花括号或者v-html指令渲染成html(注意防xss)即可.

回到顶部