1

想了解是否可以在不使用 Knockout JS 的“数据绑定”的情况下将视图模型中的值注入到模板中。

例如,如果我有以下视图模型;

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 中所做的那样?

谢谢。

4

2 回答 2

0

您需要为此使用小胡子:github.com/janl/mustache.js

    var view = {
       title: "Joe",
       calc: function () {
           return 2 + 4;
       }
    };

var output = Mustache.render("{{title}} spends {{calc}}", view);
于 2013-03-13T09:56:42.657 回答
0

你也可以使用数据绑定来设置 id,你知道的,所以你可以同时做:

<h3 data-bind="attr: { id: 'header_$' + firstName() }, text: firstName() + ' - ' + lastName()"></h3>

虽然我会考虑使用计算的 observable 从名字和姓氏 observables 创建一个全名。

于 2013-03-13T10:18:19.303 回答