diff options
| author | Gonzalo Ruiz de Villa | 2012-12-11 11:41:53 +0100 |
|---|---|---|
| committer | Igor Minar | 2012-12-14 01:15:15 +0100 |
| commit | 30a9da5dc159dd1e19b677914356925c7ebdf632 (patch) | |
| tree | 794f2f94e7816572bba8c0d147f1621a2c581ff3 /src | |
| parent | 25e1ad9a9443de6b7ebb40409af72021cc4e7b20 (diff) | |
| download | angular.js-30a9da5dc159dd1e19b677914356925c7ebdf632.tar.bz2 | |
fix($route): correctly extract $routeParams from urls
Routes like '/bar/foovalue/barvalue' matching '/bar/:foo/:bar'
now are well mapped in $routeParams to:
{bar:'barvalue', foo:'foovalue'}
Closes: #1501
Signed-off-by: Gonzalo Ruiz de Villa <gonzaloruizdevilla@gmail.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/ng/route.js | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/ng/route.js b/src/ng/route.js index e2a9c633..361b8ac3 100644 --- a/src/ng/route.js +++ b/src/ng/route.js @@ -321,12 +321,12 @@ function $RouteProvider(){ var regex = '^' + when.replace(/([\.\\\(\)\^\$])/g, "\\$1") + '$', params = [], dst = {}; - forEach(when.split(/\W/), function(param) { - if (param) { - var paramRegExp = new RegExp(":" + param + "([\\W])"); + forEach(when.split(/[^\w:]/), function(param) { + if (param && param.charAt(0) === ':') { + var paramRegExp = new RegExp(param + "([\\W])"); if (regex.match(paramRegExp)) { regex = regex.replace(paramRegExp, "([^\\/]*)$1"); - params.push(param); + params.push(param.substr(1)); } } }); |
