【发布时间】:2020-01-14 06:48:03
【问题描述】:
我正在编写一段将 Sammy JS(路由器)和 Knockout JS 粘合在一起的代码。
所以,这是我的问题,
<script id="MyTemplate" type="text/html">
// [HTML Containing a script link (Encoded HTML)]
</script>`
我使用 jQuery 来创建这个模板的一个实例:
var TInstance = $($("#MyTemplate").text())
然后,我想将新的 html TInstance 注入到我的 <body> 或其他现有标签中
$("body").html(TInstance)
很好,现在我想做ko.applyBindings 将新的TInstance 绑定到ViewModel 并且它可以工作。
我遇到的问题是:当我在TInstance 中有一个<script src="..." /> 时,
我想等到该脚本被下载并解析,然后执行ko.applyBindings。
所以我尝试了$(TInstance).ready(() => {ko.applyBindings(...)}),它在第一次加载页面时工作,但如果我重做整个过程,在新的TInstance 上换入新的TInstance 就绪处理程序不会触发。
我该怎么办?
【问题讨论】:
标签: javascript jquery html knockout.js