Features

Pros

When to use Knockout?





You entered . Is that Correct?

First Name and Last Name are mandatory.

Example 1: Two way data binding
function PersonDetailsViewModel() {
	var self = this;

	self.dataok = ko.observable(true);
	self.datanotok = ko.observable(false);

	self.validate = function() {
		if (self.persons.firstName() == null || self.persons.firstName() == "" 
			|| self.persons.lastName() == "" || self.persons.lastName() == null) {
			self.datanotok(true);
			self.dataok(false)
		}
		else {
			self.dataok(true);
			self.datanotok(false);
		}
	};

	self.persons = new PersonDetails("Ethan", "Hunt");
}

function PersonDetails(fname,lname) {
	var self = this;
	self.firstName = ko.observable(fname);
	self.lastName = ko.observable(lname);
	console.log(self.firstName);
	self.fullName = ko.computed(function(){
		return self.firstName() + ' ' + self.lastName();
	});
}

ko.applyBindings(new PersonDetailsViewModel());
				
Snippet 1: Knockout Model & Model View