This is a multi-part excerpt series from my PluralSight course Knockout for the XAML Developer
|The Knockout for the XAML developer course helps XAML developers, whether you’re a WPF or Silverlight developer, take their existing MVVM skills and transition them to the exciting world of HTML development.
This series is going to be broken down into 6 parts and should be enough show you show you can leverage your existing MVVM Skills you acquired while building XAML based and apply those to building HTML application with Knockout JS
Series Table of Context
- Setting up the Data Context
- Working with Observable Properties (this post)
- Working with Observable Arrays
- Handling User Click Events
- Handling Binding Context Changes
- Changing UI Appearances based on Bindings
Once we have our data context setup the next logic thing is to look at how to setup observable properties and bind them to UI elements. When working in XAML applications you would setup your properties as seen below
How to setup observable properties in XAML
The property above is pretty straight forward. We have a string property which has a backing field and inside our Setter we are going to raise change notification for the given field to notify the UI that the display element needs to refresh to show the updated data.
Once we have our property setup we bind it to our UI elements as seen below
How do we accomplish the same goal when using KnockoutJs?
How to setup the Observable Properties in Knockout Js
The image above is the 1 to 1 equivalent to setting up our observable property in Knockout
Breaking down this code (this code is in TypeScript).
- We first declared our observable property
- Next we need to initialize it, which we are doing with ko.observable()
Now that we have our property setup we need to bind it to our UI. I can do this by using the knockout data-bind syntax as seen below
As you can see setting up your Observable Properties in Knockout is very similar to setting up the Observable Properties in a XAML based applications.
If you want to learn more about how your XAML MVVM skills transfer to HTML Development watch my Pluralsight Course – Knockout for the XAML Developer
Till next time,
08-11-2013 8:58 AM