knockout.js - Error when trying to reset knockout observable -
in searching interwebs following code part of view model should work fine:
function myviewmodel() { var self = this; self.name = ko.observable(); self.displayname = ko.observable(); self.description = ko.observable(); self.save = function () { $.post('/my/mvccontroler', { name: self.name(), displayname: self.displayname(), description: self.description() }, function success(data) { self.name(null); self.displayname(null); self.description(null); $('#mydialog').modal('hide'); }); } }
however getting error uncaught typeerror: string not function
@ name: self.name()
.
the end goal reset view model on form submission. prefer call ko.applybindings once best practice.
edit: after great answer realized this.name being created string somewhere other code. changing variable name resolved issue.
you must resetting self.name somewhere else in code. mentioned you've tried setting self.name = '' - code still in there? because if so, you're overwriting observable object, , setting string (hence error message of 'string not function').
look through code (or post rest of here), , make sure you're not setting self.name = [anything] elsewhere.
Comments
Post a Comment