我正在关注Lazy Blogger,开始使用 crossroads 和 hasher 在 knockoutJS 中进行路由,并且它工作正常。
现在,每次单击主页和设置页面时,我都需要使用 ajax 刷新内容。所以我用谷歌搜索但找不到一些有用的资源。只有这两个链接
Stack Overflow在这里,我不明白在哪里放置 ignoreState 属性并尝试了这些。但无法使其工作。
define(["jquery", "knockout", "crossroads", "hasher"], function ($, ko, crossroads, hasher) { return new Router({ routes: [ { url: '', params: { page: 'product' } }, { url: 'log', params: { page: 'log' } } ] }); function Router(config) { var currentRoute = this.currentRoute = ko.observable({}); ko.utils.arrayForEach(config.routes, function (route) { crossroads.addRoute(route.url, function (requestParams) { currentRoute(ko.utils.extend(requestParams, route.params)); }); }); activateCrossroads(); } function activateCrossroads() { function parseHash(newHash, oldHash) { //crossroads.ignoreState = true; First try crossroads.parse(newHash); } crossroads.normalizeFn = crossroads.NORM_AS_OBJECT; hasher.initialized.add(parseHash); hasher.changed.add(parseHash); hasher.init(); $('a').on('click', function (e) { crossroads.ignoreState = true; //Second try }); } });
- 十字路口官方页面在这里我也找不到需要设置此属性的位置。
如果您知道,请给我一些网址,我可以在其中获得更多详细信息。