如何获取模板 html 文本
How can I get template html text
我知道knockout有方法ko.renderTemplate()https://www.strathweb.com/2012/08/knockout-js-pro-tips-working-with-templates/
所以我有下一个代码:
var templateHtmlText = ko.renderTemplate('packageView', package[0])
但是 returns "<!--[ko_memo:5c90e0726c7e506b]-->"
我如何准备好 html 变量中应用了绑定的代码?
您需要提供要绑定到的 knockout 元素(本例中为 elem
)。 RenderTemplate 然后将数据(本例中的 obs
)绑定到该元素。如果要将结果存储在变量中,则抓取元素 innerHTML
:
var obs = ko.observable({demo:'demo text'});
var elem = document.createElement('div');
ko.renderTemplate('template', obs, null, elem);
console.log(elem.innerHTML);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<script type="text/html" id="template">
<span data-bind="text: demo"></span>
</script>
我知道knockout有方法ko.renderTemplate()https://www.strathweb.com/2012/08/knockout-js-pro-tips-working-with-templates/
所以我有下一个代码:
var templateHtmlText = ko.renderTemplate('packageView', package[0])
但是 returns "<!--[ko_memo:5c90e0726c7e506b]-->"
我如何准备好 html 变量中应用了绑定的代码?
您需要提供要绑定到的 knockout 元素(本例中为 elem
)。 RenderTemplate 然后将数据(本例中的 obs
)绑定到该元素。如果要将结果存储在变量中,则抓取元素 innerHTML
:
var obs = ko.observable({demo:'demo text'});
var elem = document.createElement('div');
ko.renderTemplate('template', obs, null, elem);
console.log(elem.innerHTML);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<script type="text/html" id="template">
<span data-bind="text: demo"></span>
</script>