是否可以将KO视图模型中的值注入模板?

时间:2013-03-13 08:49:40

标签: knockout.js knockout-2.0

想要了解是否可以使用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中一样?

感谢。

2 个答案:

答案 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创建一个全名。