Knockout
В общем-то похож на Angular. В разметке можно указывать атрибут data-bind и ему в значение указывать
key-value пары, где key = text, или attr, а value = поле модели, если text, или Json с атрибутами, если attr
Например
<a data-bind="attr: { href: twitterUrl}, text: twitterAlias" ></a>В качестве полей модели можно указывать и функции, например:
var viewModel = {
	authorName: ko.observable('Steve Smith'),
	twitterAlias: ko.observable('@ardalis'),
	twitterUrl: ko.computed(function() {
		return "https://twitter.com/";
	}, this)
};Модели привязываются командой ko.applyBindings(model)
Чтобы связь с полем модели была 2-сторонней, используется ko.observable, как выше.