KnockoutJS data-bind attr to a function doesn't seem to work

http://stackoverflow.com/questions/9762972/knockoutjs-data-bind-attr-to-a-function-doesnt-seem-to-work

by rniemeyer

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.0.0.js"></script>
<ul data-bind="foreach: items">
    <li>
        <a data-bind="attr: { href: $root.doSomething($data) }, text: $root.doSomething($data)"></a>
    </li>
</ul>

JavaScript

var viewModel = {
    doSomething: function(val) {
      return val + "!";
    },
    items: ["one", "two", "three"]        
};

ko.applyBindings(viewModel);