Eugene Strizhok
Eugene Strizhok

Reputation: 1188

using native Knockout template engine to generate

How do I use Knockout native template engine to generate bound but not attached html elements for a given template and a view model?

I want to achieve something similar to:

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

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

Upvotes: 0

Views: 316

Answers (1)

Artem Vyshniakov
Artem Vyshniakov

Reputation: 16465

Yes, you can do this, but you should add dom element to the page first and then apply bindings:

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);

Here is working fiddle: http://jsfiddle.net/mq2GU/

Upvotes: 2

Related Questions