knockout.jsHref binding


There is no href binding in the core KnockoutJS library, which is the reason all examples showcase other features of the library to get the same effect.

See also this Stack Overflow question on the same topic.

Using attr binding

<a data-bind="attr: { href: myUrl }">link with dynamic href</a>
  myUrl: ko.observable("")

Since there is no native href binding in KnockoutJS, you need to use a different feature to get dynamic links. The above example showcases the built-in attr binding to get a dynamic link.

Custom binding handler

href binding is not native to KnockoutJS, so to get dynamic links use a custom binding handler:

<a data-bind="href: myUrl">link with dynamic href</a>
ko.bindingHandlers['href'] = {
  update: function(element, valueAccessor) {
    element.href = ko.utils.unwrapObservable(valueAccessor());