Awesome
Colonne
Colonne extends Backbone.History
by exposing two extra, and often necessary properties: path
and params
.
Ported from sammy.js.
Usage
Just add the script after backbone.js
, and the functionality should be ready to use.
Let's say, you navigate to a URL fragment /products/search?names=apple&names=nectarine&page=1
you can then call:
// URL fragment: /products/search?names=apple&names=nectarine&page=1
Backbone.history.path // 'products/search'
Backbone.history.params['names'] // ['apple', 'nectarine']
Backbone.history.params['page'] // '1'
Navigate With
You can also use Backbone.history.navigateWith
to go to a path with a query string.
Backbone.history.navigateWith('/products/search', { names: ['apple', 'nectarine'], page: 1 }, {trigger: true});
Backbone.history.fragment // 'products/search?names=apple&names=nectarine&page=1');
Tests
Colonne passes all Backbone tests for the router, copied at test/router.js
. The new functionality is tested at the end of the same file.
Dependencies
Underscore 1.3.1
Backbone 0.9.2
License
Colonne is covered by the MIT License