敲除外部模板包含Javascript块

敲除外部模板包含Javascript块,javascript,templates,knockout.js,Javascript,Templates,Knockout.js,我使用pluginKnockout.js external Template Engine将Knockout与外部模板一起使用,但我面临一个严重的问题;我的外部模板(html文件)包含脚本块,但当使用Knockout呈现模板时,此脚本不会呈现示例:-我在模板文件上放置了一个警报(“hello”),但此警报不起作用;任何帮助;谢谢试试这个: 在模板绑定中添加一个afterRender回调,在回调中获得一个元素引用,然后使用jQuery使用find()脚本块,然后使用eval()该字符串 after

我使用pluginKnockout.js external Template Engine将Knockout与外部模板一起使用,但我面临一个严重的问题;我的外部模板(html文件)包含脚本块,但当使用Knockout呈现模板时,此脚本不会呈现示例:-我在模板文件上放置了一个警报(“hello”),但此警报不起作用;任何帮助;谢谢

试试这个: 在模板绑定中添加一个
afterRender
回调,在回调中获得一个元素引用,然后使用jQuery使用
find()
脚本块,然后使用
eval()
该字符串

afterRenderTemplate(element){
var script=$(element).find('script').html();
eval(script);
}

因此,如果您正在手动执行所需的脚本,那么您应该尝试在插件本身中执行类似的操作,如果您希望它是应用程序级别的(为此,您需要修改插件代码)。

是的,它不起作用。当呈现模板时,使用绑定来运行内容。问题是我的外部模板使用MVC局部视图(Razor视图),调用融合图表来绘制图表。我正在等待您的帮助,因为我的工作依赖于此问题。请将代码移到viewmodel,将其与模板粘合在一起。这就是MVVM的工作原理,因为我的模板是Razor视图,它使用@HTML.RenderAction(“视图名称”)调用另一个局部视图;是否有解决此问题的方法。