When using the mapping plugin without require js, you can simply bind to the variables by name only in the template. But when using require js I'm having to call them as a function. Is this normal?

For example: here a simple data-bind="text:boo" would work.

function loadPage() { require(['jquery', 'knockout', 'mapping'],function($,ko,mapping){ ko.mapping = mapping; function viewModel() { this.moo = ko.observable('Hello'); this.boo = ko.observable('World'); } var vm = new viewModel(); ko.applyBindings(vm); } }

But for this, you need data-bind="text:boo()". The behavior without requirejs is the same as above. Am I mising something?