官术网_书友最值得收藏!

Chapter 1. Refreshing the UI Automatically with KnockoutJS

If you are reading this book, it is because you have discovered that managing web user interfaces is quite complex. DOM (short for Document Object Model) manipulation using only native JavaScript is very hard. This is because each browser has its own JavaScript implementation. To solve this problem, different DOM manipulation libraries have been born in the last few years. The library most frequently used to manipulate the DOM is jQuery.

It is increasingly common to find libraries that help developers to manage more and more features on the client side. As we have said, developers have obtained the possibility to manipulate the DOM easily and therefore to manage templates and format data. Also, these libraries provide developers with easy APIs to send and receive data from the server.

However, DOM manipulation libraries don't provide us with mechanisms to synchronize input data with the models in our code. We need to write code that catches user actions and updates our models.

When a problem occurs frequently in most projects, in almost all the cases, it can surely be solved in a similar way. It was then that libraries that manage the connection between the HTML files and JavaScript code began to appear. The pattern these libraries implement was named MV* (Model-View-Whatever). The asterisk can be changed by:

  • Controller, MVC (for example, AngularJS)
  • ViewModel, MVVM (for example, KnockoutJS)
  • Presenter (MVP) (for example, ASP.NET)

The library we are going to use in this book is Knockout. It uses view-models to bind data and HTML, so it uses the MVVM pattern to manage the data binding issue.

In this chapter, you will learn the basic concepts of this library and you will begin a task to use Knockout in a real project.

主站蜘蛛池模板: 沾益县| 林周县| 南宫市| 怀柔区| 邵东县| 察哈| 句容市| 金阳县| 阿克陶县| 喀喇沁旗| 黄梅县| 赫章县| 阜城县| 东丰县| 萝北县| 咸丰县| 雷州市| 若尔盖县| 平远县| 肥城市| 应城市| 蓝山县| 蓝山县| 汪清县| 博罗县| 内乡县| 石景山区| 眉山市| 嘉兴市| 陵水| 八宿县| 海门市| 南木林县| 防城港市| 四平市| 崇州市| 汾阳市| 儋州市| 紫云| 南开区| 平阳县|