Terminology

Facts, Thoughts and Opinions

'hidden' binding

ko.bindingHandlers.hidden = {
    update: function (element, valueAccessor) {
        var value = ko.utils.unwrapObservable(valueAccessor());
        ko.bindingHandlers.visible.update(element, function () { return !value; });
    }
};

'toJson' binding

Useful for dumping an object to the view for debugging.

ko.bindingHandlers.toJson= {
    update: function(element, valueAccessor){
        return ko.bindingHandlers.text.update(element,function(){
            return ko.toJSON(valueAccessor(), null, 2);
        });
    }
};

Usage - Show entire view-model:

<pre data-bind="toJson: $root"></pre>

Usage - Show current data context:

<pre data-bind="toJson: $data"></pre>

Images

[[/div]]