Skip to content
Knockout.js meets ECMAScript 5 properties
JavaScript
Find file
Latest commit 75773a5 @archangel-irk archangel-irk up ver
Failed to load latest commit information.
dist build
lib added comment
src add isTracked utility method
test added test for null field value
.gitignore updage gitignore
.jshintrc update jshint conf
.travis.yml add travis conf
Gruntfile.js fix for browserify and node
README.md added docs for nested objects
bower.json up ver
karma.conf.js add sauceLabs to karma conf
package.json up ver

README.md

knockout-es5

Knockout.js meets ECMAScript 5 properties. Read the introduction and basic usage guide.

Installation

To use in a bower:

bower install knockout-es5

Or, get a copy of the knockout-es5.min.js file

Then just add a <script> tag referencing at. Be sure to place the reference after your reference to Knockout itself:

<script src='knockout-x.y.z.js'></script>
<script src='knockout-es5.min.js'></script>

If you are using this on the server in Node.js, just require the file as a module:

var ko = require('./knockout-es5');
// Now use ko - it has been enhanced with ES5 features

Recursive traversal of nested objects

ko.track(nestedObj, { deep: true });

With fields:

ko.track(nestedObj, { deep: true, fields: ['prop1', 'prop2'] });

Selecting of nested fields (e.g. 'prop.nested_prop') are not yet supported. If someone need this feature, please create an issue.

Usage fields prop without deep:

ko.track(obj, { fields: ['prop1', 'prop2'] });

How to build from source

First, install NPM if you don't already have it. It comes with Node.js.

Second, install Grunt globally, if you don't already have it:

npm install -g grunt-cli

Third, use NPM to download all the dependencies for this module:

cd wherever_you_cloned_this_repo
npm install

Now you can build the package (linting and running tests along the way):

grunt

Or you can just run the linting tool and tests:

grunt test

Or you can make Grunt watch for changes to the sources/specs and auto-rebuild after each change:

grunt watch

The browser-ready output files will be dumped at the following locations:

  • dist/knockout-es5.js
  • dist/knockout-es5.min.js
Something went wrong with that request. Please try again.