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

KnockoutJS and the MVVM pattern

KnockoutJS is a very lightweight library (just 20 KB minified) that gives the ability to objects to become the nexus between views and models. It means that you can create rich interfaces with a clean underlying data model.

For this purpose, it uses declarative bindings to easily associate DOM elements with model data. This link between data and presentation layer (HTML) allows the DOM to refresh displayed values automatically.

Knockout set up chains of relationships between model data to transform and combine it implicitly. Knockout is also trivially extensible. It is possible to implement custom behaviors as new declarative bindings. This allows the programmer to reuse them in a just few lines of code.

The advantages of using KnockoutJS are many:

  • It's free and open source.
  • It is built using pure JavaScript.
  • It can work together with other frameworks.
  • It has no dependencies.
  • It supports all mainstream browsers, even ancient ones such as IE 6+, Firefox 3.5+, Chrome, Opera, and Safari (desktop/mobile).
  • It is fully documented with API docs, live examples, and interactive tutorials.

Knockout's function is specific: to join views and models. It doesn't manage DOM or handle AJAX requests. For these purposes, I would recommend jQuery. Knockout gives us the freedom to develop our code the way we want.

KnockoutJS and the MVVM pattern

MVVM-pattern diagram

主站蜘蛛池模板: 天祝| 章丘市| 岐山县| 周口市| 台东市| 扶余县| 龙口市| 遂宁市| 陇西县| 聂荣县| 神木县| 丰镇市| 壶关县| 汾阳市| 永年县| 凯里市| 芦山县| 湟中县| 富源县| 永春县| 顺平县| 古蔺县| 德兴市| 漠河县| 浑源县| 汉中市| 台山市| 青浦区| 报价| 陕西省| 龙游县| 美姑县| 府谷县| 梁山县| 沁水县| 南乐县| 洛南县| 昌图县| 万安县| 浦北县| 城步|