Javascript 如何获取模板html文本
我知道knockout有方法ko.renderTemplate() 所以我有下一个代码:Javascript 如何获取模板html文本,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我知道knockout有方法ko.renderTemplate() 所以我有下一个代码: var templateHtmlText = ko.renderTemplate('packageView', package[0]) 但它返回” 如何使用应用的绑定准备变量中的html代码?您需要为要绑定的knockout提供一个元素(elem)。RenderTemplate然后将数据(obs,在本例中)绑定到此元素。如果要将结果存储在变量中,请获取元素innerHTML: var obs=ko.ob
var templateHtmlText = ko.renderTemplate('packageView', package[0])
但它返回”
如何使用应用的绑定准备变量中的html代码?您需要为要绑定的knockout提供一个元素(
elem
)。RenderTemplate然后将数据(obs
,在本例中)绑定到此元素。如果要将结果存储在变量中,请获取元素innerHTML
:
var obs=ko.observable({demo:'demo text'});
var elem=document.createElement('div');
ko.renderTemplate('template',obs,null,elem);
log(elem.innerHTML)代码>
非常感谢!但如果我在模板中使用$parent,$root怎么办?您可以在第二个参数中提供整个参数。对不起,我不明白您的意思,我尝试了巡视解决方案及其工作原理,但下一个错误是未捕获引用错误:无法处理绑定“if:function(){return$parent.DisplayPricePerPerson}”消息:$parent未定义ko.renderTemplate('packageview',qwe.Packages[0],null,el)qwe.Packages[0]可能只是一些数据,而不是整个绑定上下文(包含对$parent和$root等的引用)。这就是发生错误的原因。或者,您可以将整个html呈现给所有数据,并获取所查找元素的innerHTML
。