|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 six parts and should be enough to show you how you can leverage your existing MVVM Skills you acquired while building XAML based and apply those to building HTML applications 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 set up, the next logical step is to look at how to set up observable properties and bind them to UI elements. When working in XAML applications you would set up your properties as seen below:
How to set up observable properties in XAML
The property above is pretty straightforward. 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 set up, we bind it to our UI elements as seen below:
How do we accomplish the same goal when using KnockoutJs?
How to set up 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 set up, 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