【问题标题】:Knockout external template contains Javascript blockKnockout 外部模板包含 Javascript 块
【发布时间】:2013-09-26 20:54:45
【问题描述】:

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

【问题讨论】:

  • 是的,它不起作用。在渲染模板时使用绑定来运行东西。
  • 问题是我的外部模板是使用调用 Fusion Charts 来绘制图表的 MVC 部分视图(Razor Views)
  • 我正在等待您的帮助,因为我的工作取决于这个问题
  • 将代码移动到视图模型中,然后将其与模板粘合在一起。这就是 MVVM 的工作原理
  • 我不能,因为我的模板是 Razor 视图,它使用 @HTML.RenderAction("View Name"); 调用另一个局部视图;有没有解决这个问题的方法。

标签: javascript templates knockout.js


【解决方案1】:

试试这个: 为模板绑定添加一个afterRender 回调,在回调中你会得到一个元素引用,使用它和使用jQuery 的find() 脚本块,然后eval() 那个字符串

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

所以你手动执行你想要的脚本,你应该尝试在插件本身中做类似的事情,如果你想要它是应用程序级别的(因为你需要修改插件代码)。

【讨论】:

    猜你喜欢
    • 2020-12-12
    • 2018-10-26
    • 2016-05-05
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多