Categories: KnockoutJS

KnockoutJS – Observables

Share

3 concepts in which KnockoutJS is build upon is:
– Through observables dom elements and ViewModel exchange information
– Bindings between UI and ViewModel
– Templating web applications

To make it observable declare as:
this.property = ko.observable(‘value’);

Let’s try below Observables example:

<!DOCTYPE html>
<head>
<title>KnockoutJS - Observables</title>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.1.0.js"></script>
</head>
<body>
<!-- This is input box, used data-bind attribute to bind name to ViewModel -->
<p>Put your name here: <input data-bind="value: name" /></p>

<!-- To print value use data-bind type as text -->
<p>Hi <strong data-bind="text: name"></strong> How are you?</p>

<script>
function AppViewModel() {
<!-- ko.observable keeps an eye on name variable, any modification in data it change the respective places with changed value -->
this.name = ko.observable("John!");
}
ko.applyBindings(new AppViewModel());
</script>
</body>
</html>

Computed Observable is a function which is dependent on one or more Observables. For any Observables change it will automatically update.

Syntax:

 this.variable = ko.computed(function(){
 ...
 },this);

Lets see the example below:

<!DOCTYPE html>
 <head>
 <title>KnockoutJS - Observables</title>
 <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.1.0.js"></script>
 </head>
 <body>
 <p>1st no: <input data-bind="value: a" /></p>
 <p>2nd no: <input data-bind="value: b"/></p>
 <p>Multiply: <span data-bind="text: total"></span></p>
 <script>
 function AppViewModel() {
 this.a = ko.observable(5);
 this.b = ko.observable(3);
 this.total = ko.computed(function() {
 return this.a() * this.b();
 }, this);
 }
 ko.applyBindings(new AppViewModel());
 </script>
 </body>
 </html>
Published by
Namaste UI

Recent Posts

Overview of Reputation, Services, and Features of IplWin

IplWin stands as a reliable and enthralling platform for Indian punters, offering a captivating blend…

2 days ago

Blogging Brilliance: Driving Traffic and Engagement with Quality Content

Introduction In today's online age, consumers are constantly bombarded with information. They crave valuable content…

3 days ago

How Assisted Living Gives Seniors More Freedom

In today’s rapidly aging society, finding a living situation that provides older adults with both…

3 days ago

Should you go for a Refurbished Mac?

If you wish to purchase a Mac, then it is strongly suggested to consider purchasing…

3 days ago

How Many Types of Bits are Used in Drilling Operations?

Oil drilling is a complex process that involves several components, including the drilling bit. The…

4 days ago

Best Watches to Match Your Business Look

Watches can be more than a fashion. They can be a symbol, especially in the…

4 days ago