想要了解是否可以使用Knockout JS将视图模型中的值注入模板而不使用“data-bind”。
例如,如果我有以下视图模型;
var myViewModel = {
var self = this;
self.firstName = ko.observable("ABC");
self.lastName = ko.observable("XYZ");
};
我需要创建如下的模板;
<script id="myInjectTemplate" type="text/html">
<h3 id="header_${firstName}">${firstName} - ${lastName}</h3>
</script>
我可以将视图模型中的值注入占位符,就像我们在Apache Velocity中一样?
感谢。
答案 0 :(得分:0)
你需要为此使用胡子:github.com/janl/mustache.js
var view = {
title: "Joe",
calc: function () {
return 2 + 4;
}
};
var output = Mustache.render("{{title}} spends {{calc}}", view);
答案 1 :(得分:0)
您也可以使用数据绑定设置ID,因此您可以同时执行这两项操作:
<h3 data-bind="attr: { id: 'header_$' + firstName() }, text: firstName() + ' - ' + lastName()"></h3>
虽然我会考虑使用计算的observable从名字和名字observables创建一个全名。