使用原生Knockout模板引擎生成

时间:2012-12-11 20:45:22

标签: knockout.js template-engine

如何使用Knockout本机模板引擎为给定模板和视图模型生成绑定但未附加的html元素?

我希望实现类似的目标:

var template = "<div data-bind="text: name"></div>";
var viewModel = { name: "Hello" };
var domNode = ko.applyBindings(template, viewModel);

$('body').append(domNode);

1 个答案:

答案 0 :(得分:2)

是的,你可以这样做,但你应该首先将dom元素添加到页面然后应用绑定:

var template = "<div id='TemplateId' data-bind='text: name'></div>";
var viewModel = { name: "Hello" };

var test = $('body').append(template);
var domElement = $('#TemplateId')[0];
ko.applyBindings(viewModel, domElement);

这是工作小提琴:http://jsfiddle.net/mq2GU/