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

  • KnockoutJS Essentials
  • Jorge Ferrando
  • 299字
  • 2021-07-23 20:16:15

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.

主站蜘蛛池模板: 文水县| 区。| 达日县| 永城市| 双鸭山市| 永安市| 桦川县| 精河县| 延吉市| 浮山县| 冕宁县| 肥城市| 临江市| 博罗县| 泰顺县| 中宁县| 洮南市| 潞西市| 凤冈县| 伊金霍洛旗| 晋中市| 华蓥市| 平顺县| 沧州市| 怀远县| 怀化市| 宽甸| 安吉县| 湘潭县| 尖扎县| 昌平区| 敖汉旗| 湘西| 门源| 密云县| 阳高县| 鸡西市| 广昌县| 马边| 礼泉县| 太白县|