基本上,我的目标是捕获路由中 url 的其余部分并将其存储到 ViewModel 中。
在 AngularJS 中,你可以这样做:
$routeProvider.when('/foo/:page*', { ... });
...当您访问时/foo/bar/baz
,例如,$routeParams.page
是'bar/baz'
.
所以我在 DoneJS 中尝试了类似的东西,在以下行中app.js
:
route('/foo/:page*', { page: 'home' });
哪个,真的,应该工作,对吧?
没有。当你重新加载时,Nodejs 控制台充满了:
WARN: can/view/stache/mustache_core.js: Unable to find key or helper "page".
此外,一个星号在 URL 末尾闪烁,ViewModel 中“页面”的内容在'home'
和之间快速变化undefined
,几秒钟后浏览器锁定(用 Chrome 和 Firefox 尝试)。
我已经厌倦了*
从路线中删除,但这会导致/foo/bar/baz
不匹配/foo/bar
。
如何将 URL 的其余部分捕获到 ViewModel 中?