Index
A
- addressing forms
- about / Special addressing forms
- advanced mapping / Advanced mapping
- AJAX helper methods
- ajax, URL / Loading and saving JSON data
- getJSON, URL / Loading and saving JSON data
- get, URL / Loading and saving JSON data
- post, URL / Loading and saving JSON data
- application, with Knockout.js
- creating / Creating an application with Knockout.js
- HomeLibrary project, drawback / Motivation
- new project, creating / Creating a new project
- models, adding / Adding models
- views, adding / Adding views
- controller, adding / Adding the controller
- application, running / Running the application
- application, without Knockout.js
- creating / Creating an application without Knockout.js
- new project, creating / Creating a new project
- models, adding / Adding models
- views, adding / Adding views
- controller, adding / Adding the Controller
- application, running / Running the application
- Asynchronous JavaScript and XML (AJAX)
- about / Motivation
- attr binding
- about / The attr binding
- example / The attr binding
B
- binding context
- about / Binding context
- $parent / Binding context
- $parents / Binding context
- $root / Binding context
- $index / Binding context
- $parentContext / Binding context
- $data / Binding context
- $context / Binding context
- $element / Binding context
- binding diversity
- about / A binding diversity
- single binding / Single and multiple bindings
- multiple binding / Single and multiple bindings
- value representation / Value representation
- white spaces / White spaces
- value, skipping / Skipping the value
- binding preprocessing / Skipping the value
- Bootstrap
- URL / Creating a new project
C
- callback properties, new binding
- init / Registering a new binding
- update / Registering a new binding
- checked binding
- about / The checked binding
- example / The checked binding
- class contents
- about / Adding models
- click binding
- about / The click binding
- example / The click binding
- complex bindings
- about / Complex bindings
- computed observable property / The text binding
- computed observables
- about / Computed observables
- using / Using a computed observable
- features / Computed observable features
- dependency chains / Computed observable features
- extenders / Computed observable features
- writeable computed observables / Computed observable features
- URL / Computed observable features
- computed properties
- Content distribution network (CDN)
- about / Method 3 – CDNs
- used, for installing Knockout.js / Method 3 – CDNs
- URL / Method 3 – CDNs
- control flow bindings
- about / Control flow bindings
- foreach binding / The foreach binding
- if binding / The if and ifnot bindings
- visible binding / The if and ifnot bindings
- with binding / The with binding
- Create-Read-Update-Delete (CRUD)
- css binding
- about / The css binding
- example / The css binding
- custom bindings
- about / Custom bindings
- new binding, registering / Registering a new binding
- callback parameter, binding / Binding callbacks' parameters
- example, slideVisible / A custom binding example 1 – slideVisible
- example, hasFocus / A custom binding example 2 – hasFocus
- custom functions
- about / Custom functions
- example, with array filtering / An example with array filtering
- filterByProperty / An example with array filtering
- Book / An example with array filtering
- LibraryViewModel / An example with array filtering
D
- data
- converting, to JSON / Converting data to JSON
- data binding
- about / Basic data binding
- properties / Basic data binding
- declarative bindings / What is Knockout.js?
- disable binding
- about / The enable and disable binding
E
- enable binding
- about / The enable and disable binding
- example / The enable and disable binding
- event binding
- about / The event binding
- example / The event binding
- extenders
- about / Extending observables
F
- foreach binding
- about / The foreach binding
- example / The foreach binding
- URL / The foreach binding
- foreach region / The foreach region
- form fields bindings
- about / Form fields bindings
- value binding / The value binding
- click binding / The click binding
- submit binding / The submit binding
- event binding / The event binding
- checked binding / The checked binding
- enable binding / The enable and disable binding
- disable binding / The enable and disable binding
- options binding / The options binding
- selectedOptions binding / The selectedOptions binding
- form objects
- properties / Form objects
- functions, for manipulating observable arrays
- push(value) / Manipulating an observable array
- pop() / Manipulating an observable array
- unshift(value) / Manipulating an observable array
- shift() / Manipulating an observable array
- reverse() / Manipulating an observable array
- sort() / Manipulating an observable array
- splice(start, count) / Manipulating an observable array
- remove(value) / Manipulating an observable array
- remove(predicate) / Manipulating an observable array
- removeAll(set) / Manipulating an observable array
- removeAll() / Manipulating an observable array
- fundamentals, Knockout.js
- about / Knockout.js fundamentals
G
- GitHub
- Knockout.js, installing from / Method 4 – GitHub
H
- Hello World application, creating
- View, creating / Creating a View
- ViewModel, adding / Adding a ViewModel
- data binding, adding / Adding a data binding
- observable, adding / Adding an observable
- observables, subscribing to / Subscribing to observables
- View, updating by forced way / Updating View in a forced way
- change notifications, delaying / Delaying and suppressing change notifications
- change notifications, suppressing / Delaying and suppressing change notifications
- dynamic behavior, adding / Adding dynamic behavior
- binding diversity / A binding diversity
- Hello world example, Knockout MVC
- working with / Working with the Hello World example in Knockout MVC
- URL / Working with the Hello World example in Knockout MVC
- model, adding / Adding the model
- controller, adding / Adding the controller
- view, adding / Adding the view
- application, running / Running the application
- library, code / Under the hood
- Knockout.js initialization code / Under the hood
- html binding
- about / The html binding
- example / The html binding
- HTML objects
- creating / Form objects
I
- if binding
- about / The if and ifnot bindings
- example / The if and ifnot bindings
- URL / The if and ifnot bindings
- ifnot binding
- about / The if and ifnot bindings
- URL / The if and ifnot bindings
- if region / The if region
- inner computed properties
- about / Inner computed properties
- installation, Knockout.js
- downloading / Method 1 – official site
- via NuGET / Method 2 – NuGet
- CDNs, using / Method 3 – CDNs
- from GitHub / Method 4 – GitHub
J
- JSON
- converting, to data / Converting JSON to data
- JSON.parse function
- URL / Converting JSON to data
- JSON.stringify
- URL / Converting data to JSON
- JSON data
- loading / Loading and saving JSON data
- saving / Loading and saving JSON data
- JSON format
K
- Knockout.js
- overview / Knockout.js overview
- about / What is Knockout.js?
- features / The best features
- MVVM design pattern / MVVM design pattern
- installing / Installing Knockout.js
- fundamentals / Knockout.js fundamentals
- online references / Useful links
- ko.toJS / Converting data to JSON
- ko.toJSON / Converting data to JSON
- URL / An automatic mapping example, An example with array filtering
- Knockout.js library
- $parent / Special addressing forms
- $parents / Special addressing forms
- $root / Special addressing forms
- $parentContext / Special addressing forms
- $index / Special addressing forms
- $data / Special addressing forms
- Knockout.js plugin, for validation
- KnockoutContext class
- working with / Working with KnockoutContext
- Knockout mapping
- defining / Introducing Knockout mapping
- manual mapping example / A manual mapping example
- automatic mapping example / An automatic mapping example
- Knockout MVC, mapping / Mapping in Knockout MVC
- unique values, mapping / Mapping unique values
- partial mapping, create / Partial mapping – create
- partial mapping, update / Partial mapping – update
- partial mapping, ignore / Partial mapping – ignore
- multiple mapping / Multiple mappings
- advanced mapping / Advanced mapping
- Knockout MVC
- about / Getting started with Knockout MVC
- motivation / Motivation
- using / When you should use Knockout MVC
- advantages / When you should use Knockout MVC
- drawbacks / When you should use Knockout MVC
- installing / Installation
- references / Useful links
- mapping / Mapping in Knockout MVC
- Knockout MVC application
- developing / Developing a Knockout MVC application
- model, adding / Adding the model
- controller, adding / Adding the controller
- view, adding / Adding the view
- running / Running the application
- HTML code / Under the hood
L
- lazy loading
- about / Lazy loading
- Library controller
- URL / Running the application
M
- model
- Model-View-Controller (MVC) pattern / MVVM design pattern
- Model-View-ViewModel (MVVM) design pattern
- model methods
- Index() / Adding the Controller
- [HttpGet] Edit(int id) / Adding the Controller
- [HttpPost] Edit(BookModel book) / Adding the Controller
- Add() / Adding the Controller
- Remove(int id) / Adding the Controller
- multiple mapping / Multiple mappings
- multiple view models
- about / Multiple view models
- MVVM design pattern, Knockout.js
- about / MVVM design pattern
- Model / MVVM design pattern
- View / MVVM design pattern
- ViewModel / MVVM design pattern
- scheme / MVVM design pattern
- advantages / MVVM design pattern
- examples / MVVM design pattern
- Knockout.js application, examples / MVVM design pattern
- WPF application, examples / MVVM design pattern
N
- named template / A simple named template
- nested contexts
- about / Nested contexts
- creating / Nested contexts
- Foreach / Nested contexts
- With / Nested contexts
- If / Nested contexts
- NuGet
- used, for installing Knockout.js / Method 2 – NuGet
- URL / Method 2 – NuGet, Creating a new project
O
- observable arrays
- about / Observable arrays
- using / Using an observable array
- operations, adding / Adding to an observable array
- operations, removing / Removing from an observable array
- manipulating / Manipulating an observable array
- URL / Manipulating an observable array
- observables
- extending / Extending observables
- extender, creating / Creating an extender
- example, numeric / An extending observables example 1 – numeric
- example, required / An extending observables example 2 – required
- observables objects / What is Knockout.js?
- options binding
- about / The options binding
- example / The options binding
P
- parameters
- sending, to server / Sending parameters to the server
- parameters, callback
- element / Binding callbacks' parameters
- valueAccessor / Binding callbacks' parameters
- allBindings / Binding callbacks' parameters
- URL / Binding callbacks' parameters
- parameters, templating approaches
- Personal page
- developing / Creating the Model, View, and ViewModel
- plugin
- plugin features
- URL / Advanced mapping
- properties, $.ajax
- url / Adding views
- cache / Adding views
- type / Adding views
- contentType / Adding views
- data / Adding views
- success / Adding views
R
- Razor API
- about / Regions
- regions
- about / Regions
- foreach region / The foreach region
- with region / The with region
- if region / The if region
- requests
- sending, to server / Sending requests to the server
S
- selectedOptions binding
- about / The selectedOptions binding
- example / The selectedOptions binding
- server
- parameters, sending to / Sending parameters to the server
- requests, sending to / Sending requests to the server
- Single Page Application (SPA)
- developing / Creating the Model, View, and ViewModel
- style binding
- about / The style binding
- example / The style binding
- submit binding
- about / The submit binding
- example / The submit binding
T
- templating approaches
- about / Different templating approaches
- parameters / Different templating approaches
- named template / A simple named template
- template, in foreach mode / Template in the foreach mode
- foreach template, with alias / The foreach template with alias, Choosing a template dynamically
- template, selecting dynamically / Choosing a template dynamically
- text and appearance bindings
- about / Text and appearance bindings
- text binding / The text binding
- html binding / The html binding
- css binding / The css binding
- style binding / The style binding
- attr binding / The attr binding
- visible binding / The visible binding
- text binding
- about / The text binding
- example / The text binding
U
- unmapping
- about / An automatic mapping example
- user-defined scripts
- adding / Adding user-defined scripts
- user scripts
- writing / Writing user scripts
V
- value binding
- about / The value binding
- example / The value binding
- View
- about / An example with array filtering
- ViewModel
- about / An example with array filtering
- visible binding
- about / The visible binding
- example / The visible binding
- Visual Studio Express 2013
W
- with binding
- about / The with binding
- example / The with binding
- URL / The with binding
- with region / The with region
- writeable property / Computed observable features